[Must Learning with R_6] Ch7. 중급문법 2단계 연습문제
Wikidocs에 올라와있는 Must Learning with R 을 참고하며 방학동안 부족한 R programming 공부를 하고있습니다. 책에 나와있는 연습문제를 정리하려 합니다.
Ch6. 중급문법 1단계
연습문제1
HR 데이터에 Factor 변수들만 뽑아, HR_Factor라는 데이터 프레임을, Numeric 변수들만 뽑아 HR_Numeric 데이터를 생성하시오.
HR = read.csv('D:/HR_comma_sep.csv')
HR_factor = HR %>%
mutate_if(is.character,as.factor) %>%
#chr 타입을 factor 타입으로 변경
select_if(is.factor)
head(HR_factor)
결과
> HR = read.csv('D:/HR_comma_sep.csv')
>
> HR_factor = HR %>%
+ mutate_if(is.character,as.factor) %>% #chr 타입을 factor 타입으로 변경
+ select_if(is.factor)
>
> head(HR_factor)
department salary
1 sales low
2 sales medium
3 sales medium
4 sales low
5 sales low
6 sales low
연습문제2
HR 데이터의 sales, left 변수를 기준으로 satisfaction_level, last_evaluation의 평균, 중위수, 표준편차값을 계산해서 HR_summarise라는 데이터 프레임을 만드시오.
HR_summarise = HR %>%
group_by(department, left) %>%
summarise(Mean_satisfaction_level = mean(satisfaction_level),
Med_satisfaction_level = median(satisfaction_level),
sd_satisfaction_level = sd(satisfaction_level),
Mean_last_evaluation = mean(last_evaluation),
med_last_evaluation = median(last_evaluation),
sd_last_evaluation = sd(last_evaluation))
HR_summarise
결과
> #satisfaction_level, last_evaluation의 평균, 중위수, 표준편차값을 계산해서 HR_summarise라는 데이터 프레임을 만드시오.
>
> HR_summarise = HR %>%
+ group_by(department, left) %>%
+ summarise(Mean_satisfaction_level = mean(satisfaction_level),
+ Med_satisfaction_level = median(satisfaction_level),
+ sd_satisfaction_level = sd(satisfaction_level),
+
+ Mean_last_evaluation = mean(last_evaluation),
+ med_last_evaluation = median(last_evaluation),
+ sd_last_evaluation = sd(last_evaluation))
`summarise()` has grouped output by 'department'. You can override using the `.groups` argument.
>
> HR_summarise
# A tibble: 20 x 8
# Groups: department [10]
department left Mean_satisfaction_~ Med_satisfaction_l~ sd_satisfaction_l~ Mean_last_evalua~ med_last_evaluat~ sd_last_evaluat~
<chr> <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 accounting 0 0.647 0.67 0.221 0.726 0.73 0.160
2 accounting 1 0.403 0.39 0.257 0.695 0.62 0.199
3 hr 0 0.667 0.67 0.216 0.721 0.73 0.163
4 hr 1 0.433 0.42 0.243 0.680 0.57 0.197
5 IT 0 0.677 0.7 0.209 0.713 0.71 0.155
6 IT 1 0.412 0.39 0.271 0.730 0.81 0.194
7 management 0 0.655 0.68 0.202 0.723 0.73 0.152
8 management 1 0.423 0.41 0.270 0.727 0.78 0.202
9 marketing 0 0.670 0.69 0.219 0.723 0.71 0.164
10 marketing 1 0.453 0.41 0.249 0.692 0.57 0.200
11 product_mng 0 0.658 0.67 0.221 0.711 0.71 0.170
12 product_mng 1 0.482 0.43 0.264 0.727 0.825 0.203
13 RandD 0 0.654 0.68 0.222 0.706 0.7 0.159
14 RandD 1 0.433 0.41 0.282 0.745 0.81 0.194
15 sales 0 0.669 0.69 0.222 0.709 0.7 0.162
16 sales 1 0.448 0.42 0.258 0.711 0.77 0.199
17 support 0 0.674 0.69 0.213 0.722 0.73 0.164
18 support 1 0.451 0.41 0.264 0.727 0.81 0.192
19 technical 0 0.668 0.69 0.215 0.717 0.72 0.164
20 technical 1 0.433 0.4 0.276 0.734 0.8 0.197