[Must Learning with R_2] Ch3. 기본문법 2단계 연습문제

1 minute read

Wikidocs에 올라와있는 Must Learning with R 을 참고하며 방학동안 부족한 R programming 공부를 하고있습니다. 책에 나와있는 연습문제를 정리하려 합니다.

Ch3. 기본문법 2단계

연습문제1

HR 데이터의 행의 수, 열의 수를 구하시오.

HR = read.csv('D://HR_comma_sep.csv')
dim(HR)

결과

> HR = read.csv('D://HR_comma_sep.csv')
> dim(HR)
[1] 14999    10



연습문제2

salary변수의 strings에 대해 답하시오.


str(HR$salary)

결과

> str(HR$salary)
Factor w/ 3 levels "high","low","medium": 2 3 3 2 2 2 2 2 2 2 ...



연습문제3

salary변수에 대하여 low는 1, medium은 2, high는 3의 값을 가져 서열정보를 가지게 하는 salary_New 변수를 만드시오.


HR$salary_New = ifelse(HR$salary == 'high', 3,
                       ifelse(HR$salary =='medium', 2,1))
summary(HR$salary_New)

결과

> HR$salary_New = ifelse(HR$salary == 'high', 3,
+                        ifelse(HR$salary =='medium', 2,1))
> summary(HR$salary_New)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  1.000   1.000   2.000   1.595   2.000   3.000 



연습문제4

Salary_New 값이 2이면서 left는 1인 직원들만 뽑아 Medium_Left라는 새로운 데이터프레임을 만드시오.


Medium_Left = subset(HR, salary_New == 2 & left == 1)
print(xtabs(~ Medium_Left$salary + Medium_Left$left))

결과

> Medium_Left = subset(HR, salary_New == 2 & left == 1)
> print(xtabs(~ Medium_Left$salary + Medium_Left$left))
                  Medium_Left$left
Medium_Left$salary    1
            high      0
            low       0
            medium 1317



연습문제5

Medium_Left 데이터에 대해 department변수 별로 time_spend_company의 평균을 구하여, Time_spend_Mean이라는 데이터프레임을 만드시오.

SS2 = ddply(HR,
            c('department'),summarise,
            Time_spend_Mean = mean(time_spend_company))

print(SS2)

결과

> SS2 = ddply(HR,
+             c('department'),summarise,
+             Time_spend_Mean = mean(time_spend_company))
> 
> print(SS2)
    department Time_spend_Mean
1   accounting        3.522816
2           hr        3.355886
3           IT        3.468623
4   management        4.303175
5    marketing        3.569930
6  product_mng        3.475610
7        RandD        3.367217
8        sales        3.534058
9      support        3.393001
10   technical        3.411397



연습문제6

Time_spend_Mean 데이터프레임을 이용하여 department별 time_spend_company의 평균을 나타내는 막대도표를 그리시오. (stat = ‘identity’ 옵션 활용 필요)

library(ggplot2)
ggplot(SS2,aes(department,Time_spend_Mean)) + 
  geom_bar(stat='identity')

결과

Image Alt 텍스트