본문 바로가기

[2016 - 2019] 학부 정리/4학년

[4학년 - 빅데이터기술] R프로그래밍

R연습문제


2장 연습문제

 ## chapter_2

 # ex.1

 # 벡터를 오름차순 혹은 내림차순으로 정렬

 # - 오름차순

 > ordered(fruits)

  [1] apple  melon  banana grape  tomato potato

  Levels: apple < banana < grape < melon < potato < tomato

 > sort(fruits) 

  [1] "apple"  "banana" "grape"  "melon"  "potato" "tomato"

 

 # - 내림차순

 > b<-sort(fruits, decreasing = T) 

 > b

  [1] "tomato" "potato" "melon"  "grape"  "banana" "apple" 


 # 벡터변수의 짝수 혹은 홀수번째 성분만 추출하기 

 > fruits[seq(2,6,2)]

  [1] "melon"  "grape"  "potato"

 > fruits[c(2,4,6)]

  [1] "melon"  "grape"  "potato"



 # ex.2

 # 1~8, 11~18, 111~118로 이루어진 2,4,3 차원의 배열 만들기 

 > b <- c(1:8,11:18,111:118)

 > dim(b) <- c(2,4,3)

 > b

  , , 1


       [,1] [,2] [,3] [,4]

  [1,]    1    3    5    7

  [2,]    2    4    6    8


  , , 2


       [,1] [,2] [,3] [,4]

  [1,]   11   13   15   17

  [2,]   12   14   16   18


  , , 3


       [,1] [,2] [,3] [,4]

  [1,]  111  113  115  117

  [2,]  112  114  116  118


 # ex.3 

 # 행렬 x만들기

 > x<-matrix(1:12, nrow = 3, ncol = 4)

 # 전치 행렬 x^t만들기

 > t(x)

 # x의 첫번째 행만 뽑아 xr1 만들기 

 > xr1 <- [1,]

 # x의 세번째 열만 뽑아 xc3 만들기

 > xr3 <- [,3]

 # x에서 5,8,6,9를 원소로 가지는 부분 행렬 xs만들기

 > xs <- [2:3, 2:3]


 # ex.4

 # R에 저장되어 있는 state.x77의 데이터를 이용 -> data("state")

 # 3번재 행과 8번째 열이 교차하는 원소 추출

 > data("state")

 > state.x77[3,8]

 # 5,22,44 행과 1,4,7 열에 해당하는 값 추출하기 

 > state.x77[c(5,22,44),c(1,4,7)]

 # 5행 부터 49행 까지를 제외한 나머지 행과 3열부터 5열까지의 원소 추출하기

 > state.x77[-(5:49), 3:5]

 # state.x77의 두번째 열인 income이 4000보다 큰 것만 추출하기 

 > state.x77[state.x77[,2] > 4000,]
 > state.x77[state.x77[,"Income"] > 4000,]

 # ex.5
 # R에 저장되어 있는 iris의 데이터 이용
 > data("iris")
 > iris
 # Sepal.Width > 3.5 데이터 찾기
 > iris[iris[,"Sepal.Width"] > 3.5,]
 # Species == versicolor데이터 찾기 
 > iris[iris[,"Species"] == "versicolor",]


 # ex.6 ??
§iris의 모든 컬럼(속성)명 조회
colnames(iris)
§Width가 들어간 컬럼명만 조회 (대소문자 구별없이)
§“Petal”이 들어간 컬럼명의 데이터의 상단의 일부 값만 조회