변수명 바꾸기, 추가 변수 만들기


변수명 바꾸기

먼저 dplyr 패키지를 사용해야 하므로, install.packages(“dplyr”)를 이용하여 설치한 후 사용할 수 있도록 library(dplyr)를 실행해 줍니다.

install.package("dplyr")
library("dplyr")

그 후 테스트를 진행하기 위해 아래와 같이 코드를 작성합니다.

> df_test1 = data.frame(var1 = c(1,2,3), var2=c(4,5,6))
> df_test1
  var1 var2
1    1    4
2    2    5
3    3    6

여기서 var1, var2를 각각 v1, v2로 변경해보겠습니다.

> df_test1 = rename(df_test1, v1 = var1, v2 = var2)
> df_test1
  v1 v2
1  1  4
2  2  5
3  3  6

rename() 함수를 이용해서 var1, var2를 각각 v1, v2로 변경된 것을 확인할 수 있습니다.

추가 변수 생성

이름영어수학
AAA8090
BBB7080
CCC6070

위와 같은 데이터가 있을 때 수학 옆에 평균이라는 속성을 만들어서 값을 구하고, 이를 파일로 저장하는 것을 해보겠습니다.

> eng = c(80, 70, 60)
> math = c(90, 80, 70)

> df_test = data.frame(eng, math)
> df_test
  eng math
1  80   90
2  70   80
3  60   70
> (df_test$eng + df_test$math) / 2
[1] 85 75 65

> df_test$avg = (df_test$eng + df_test$math) / 2
> df_test
  eng math avg
1  80   90  85
2  70   80  75
3  60   70  65

위 코드에서 eng, math에 각 점수를 넣어 데이터 프레임으로 생성합니다. 그 후 영어와 수학의 평균을 구하는 식을 작성하여 그 결과를 확인해 봅니다.

추가 변수를 만들기 위해서 데이터프레임_속성명 = 값 형식을 사용하여 추가할 수 있습니다.

조건문

위의 내용을 바탕으로 mpg를 이용하여 추가 변수를 생성하고, 히스토그램을 및 조건문을 통한 추가 변수 생성에 대해 알아보겠습니다.

> mpg = as.data.frame(ggplot2::mpg)
> mpg$total = (mpg$cty + mpg$hwy) / 2
> summary(mpg$total)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  10.50   15.50   20.50   20.15   23.50   39.50 
hist(mpg$total)

hist는 해당 결과 값을 히스토그램으로 나타내 줍니다. hist

여기서 참, 거짓 구분을 위해 total의 값이 20을 넘기면 pass, 넘지 못하면 fail을 넣어주도록 하겠습니다.

> mpg$test = ifelse(mpg$total >=20, "pass", "fail")
> head(mpg)
  manufacturer model displ year cyl      trans drv cty hwy fl   class total test
1         audi    a4   1.8 1999   4   auto(l5)   f  18  29  p compact  23.5 pass
2         audi    a4   1.8 1999   4 manual(m5)   f  21  29  p compact  25.0 pass
3         audi    a4   2.0 2008   4 manual(m6)   f  20  31  p compact  25.5 pass
4         audi    a4   2.0 2008   4   auto(av)   f  21  30  p compact  25.5 pass
5         audi    a4   2.8 1999   6   auto(l5)   f  16  26  p compact  21.0 pass
6         audi    a4   2.8 1999   6 manual(m5)   f  18  26  p compact  22.0 pass

위와 같이 total의 결과에 대하여 test 추가 변수에 pass가 나타난 것을 확인할 수 있습니다.

또한 test 속성의 값이 fail, pass의 개수를 확인하고 싶다면 table()이라는 함수를 이용하면 됩니다.

> table(mpg$test)

fail pass 
 106  128





© 2017. by k3y6reak

Powered by k3y6reak