SiRyu AI

[R 프로그래밍] 06. 데이터 프레임 생성 본문

R Programming

[R 프로그래밍] 06. 데이터 프레임 생성

KHU 조문기 2017. 11. 1. 01:03

# 벡터를 이용해 데이터 프레임 생성 > number <- c(1:5) > name <- c('alpha', 'beta', 'gamma', 'zeta', 'hexa') > score <- c(77, 53, 97, 46, 82) > exam_data = data.frame(순번 = number, 이름 = name, 점수 = score) > exam_data 순번 이름 점수 1 1 alpha 77 2 2 beta 53 3 3 gamma 97 4 4 zeta 46 5 5 hexa 82 # 행렬을 이용해 데이터 프레임 생성 > a = matrix(c(1, 'alpha', 77, 2, 'beta', 53, 3, 'gamma', 97), 3, byrow=T) > a [,1] [,2] [,3] [1,] "1" "alpha" "77" [2,] "2" "beta" "53" [3,] "3" "gamma" "97" > exam_data = data.frame(a) > exam_data X1 X2 X3 1 1 alpha 77 2 2 beta 53 3 3 gamma 97 #데이터프레임의 column명 변경 > exam_data X1 X2 X3 1 1 alpha 77 2 2 beta 53 3 3 gamma 97 > names(exam_data) <- c( 'a', 'b', 'c') > exam_data a b c 1 1 alpha 77 2 2 beta 53 3 3 gamma 97 > names(exam_data)[3] <- c('change') // 특정 column만 변경 > exam_data a b change 1 1 alpha 77 2 2 beta 53 3 3 gamma 97 # column 추가하기 > exam_data$new = NA // new라는 이름을 가진 column을 추가, 값은 NA로 고정. > exam_data a b change new 1 1 alpha 77 NA 2 2 beta 53 NA 3 3 gamma 97 NA > v= c(2:4) > v [1] 2 3 4 > exam_data$new = v > exam_data a b c new 1 1 alpha 77 2 2 2 beta 53 3 3 3 gamma 97 4 //이렇게도 할 수 있다. # column 삭제하기 > exam_data a b c new 1 1 alpha 77 2 2 2 beta 53 3 3 3 gamma 97 4 > exam_data[4] = NULL > exam_data a b c 1 1 alpha 77 2 2 beta 53 3 3 gamma 97 # 데이터 프레임의 subset > x = c(1:5) > y = c(6:10) > data = data.frame(x, y) > data x y 1 1 6 2 2 7 3 3 8 4 4 9 5 5 10 > d_x1 = subset(data, x>=3) > d_x1 x y 3 3 8 4 4 9 5 5 10 > d_y1 = subset(data, y<=8) > d_y1 x y 1 1 6 2 2 7 3 3 8 > d_xy1 = subset(data, x>=2 & y>8) > d_xy1 x y 4 4 9 5 5 10 > d_xy2 = subset(data, x<=2 | y>8) > d_xy2 x y 1 1 6 2 2 7 4 4 9 5 5 10 # 데이터 프레임 구조 파악하기 > exam_data a b c 1 1 alpha 77 2 2 beta 53 3 3 gamma 97 > nrow(exam_data) // row의 개수 [1] 3 > ncol(exam_data) // column의 개수 [1] 3 > names(exam_data) // column의 이름 [1] "a" "b" "c" > colnames(exam_data) // 동일 [1] "a" "b" "c" > attributes(exam_data) // 데이터 프레임의 요소 $names [1] "a" "b" "c" $row.names [1] 1 2 3 $class [1] "data.frame"

경희대학교 소프트웨어융합학과 SiRyu Studio
R Programming 06


Comments