1. 전처리 -csv 파일을 불러오는 방법은 아래와 같다. 경로를 설정하면 해당 data가 a 변수가 된다. 해당파일은 첫 행이 변수명이기 때문에 ’header= T’로 한다. (해당 파일은 임의로 만든것이고 진짜는 아니다!)
a<-read.csv("C:\\Users\\82102\\Desktop\\interview\\test1.csv", header = T)

-a의 형태를 파악해보자 일단 대략 어떤 파일인지 한번 보자. 10행 까지 파일을 본다

head(a, 10)
##     X id age gender     wage jobsatisfaction
## 1   1  1  28      0 3616.072        94.38872
## 2   2  2  20      1 2515.079        81.02597
## 3   3  3  47      0 3612.614        53.86118
## 4   4  4  28      1 3659.233        71.61188
## 5   5  5   2      0 2992.600        35.02129
## 6   6  6  25      1 2812.055        90.92546
## 7   7  7  27      0 3063.561        70.09062
## 8   8  8   6      1 3108.089       102.81495
## 9   9  9  23      0 2694.920        99.26116
## 10 10 10  46      1 2930.867        90.37452

-해당 파일을 보니 id이외에 1열에 x라는 변수가 있다. 별로 쓸모가 없어 보이니 해당 열을 없애보자.

a<-a[,-1]
head(a, 10)
##    id age gender     wage jobsatisfaction
## 1   1  28      0 3616.072        94.38872
## 2   2  20      1 2515.079        81.02597
## 3   3  47      0 3612.614        53.86118
## 4   4  28      1 3659.233        71.61188
## 5   5   2      0 2992.600        35.02129
## 6   6  25      1 2812.055        90.92546
## 7   7  27      0 3063.561        70.09062
## 8   8   6      1 3108.089       102.81495
## 9   9  23      0 2694.920        99.26116
## 10 10  46      1 2930.867        90.37452

-다음으로 해당 파일의 변수들의 타입을 보자. dataframe의 특정 변수 선택은 $을 쓴다음 변수명을 입력하면 된다. 아래 파일을 보면 성별(gender)는 명목척도인데 연속형 변수로 되어 있음을 알 수 있다.

typeof(a$id)
## [1] "integer"
typeof(a$age)
## [1] "integer"
typeof(a$gender)
## [1] "integer"
typeof(a$wage)
## [1] "double"
typeof(a$jobsatisfaction)
## [1] "double"

-성별을 factor로 바꿔보. 남자는 0 여자는 1로 되어 있으니 이걸 “남자”, “여자”로 바꿔보자

a$gender2<-factor(a$gender, levels = c(0,1), labels = c("남자", "여자"))
head(a$gender2, 10)
##  [1] 남자 여자 남자 여자 남자 여자 남자 여자 남자 여자
## Levels: 남자 여자

-만약 특정 조건에 맞게 데이터를 새로만들고 싶다면 다음과 같이 할 수 있다. 남자만 있는 파일을 다음과 같이 만들었다.

a1<-subset(a, a$gender2=="남자")
head(a1, 10)
##    id age gender     wage jobsatisfaction gender2
## 1   1  28      0 3616.072        94.38872    남자
## 3   3  47      0 3612.614        53.86118    남자
## 5   5   2      0 2992.600        35.02129    남자
## 7   7  27      0 3063.561        70.09062    남자
## 9   9  23      0 2694.920        99.26116    남자
## 11 11  20      0 2131.963        83.56018    남자
## 13 13  31      0 2378.929        58.65030    남자
## 15 15  34      0 3214.067        84.27714    남자
## 17 17   2      0 2474.952        92.63049    남자
## 19 19  37      0 3372.374        92.97752    남자

-if구문을 써서 다른 방식으로 변수를 추가 하거나 새로운 data를 만들수 있다. 임금이 3000넘는 사람을 고소득자 나머지는 저소득자로 새로운 변수를 만들 수 있다. 또 factor의 빈도를 알기 위해서 table 함수를 쓸 수 있다.

a$wage_category<-ifelse(a$wage>3000, "고소득자", "저소득자")
head(a$wage_category,5)
## [1] "고소득자" "저소득자" "고소득자" "고소득자" "저소득자"
table(a$wage_category)
## 
## 고소득자 저소득자 
##       86      114

-table함수는 조건을 나누어 만들 수 있다. 카이제곱검정후 표 만들때 유용하다. 성별이 또다른 범주 변수니 두 변수로 표를 만들 수 있다.

table(a$gender2, a$wage_category)
##       
##        고소득자 저소득자
##   남자       38       62
##   여자       48       52