>RE::VISION CRM

R 데이터 분석

CRMAJU2018] --- R 데이터 처리 기초 연습문제 [1] 후보답안

YONG_X 2018. 4. 12. 19:06

# R 데이터 처리 기초 연습문제 [1] 


# 아래는 한 회사의 고객 리스트이다. 이 데이터를 활용하여

# 아래의 문제들에 대한 답을 찾는 R 스크립트를 실행하라.


cust <- data.frame(age = 30:50, sales = rep(c(65,60,80),7))

freq <- rep(c(3,7,4,2,1,1,2),3)


# sales는 각 고객별 총판매금액이며 freq는 구매횟수이다.


# 문제1: cust의 수를 계산하라

nrow(cust)

length(cust$age)


# 문제2: 고객의 나이를 큰값에서 작은 값의 순서로 정렬하라

rev(sort(cust$age))

sort(cust$age, decreasing=T)


# 문제3: 고객의 나이 중 두번째로 큰 값은 얼마인가?

-sort(-cust$age)[2]


# 문제4: sales의 평균값은 얼마인가?


# 문제5: 각 고객별로 sales와 전체고객의 sales 평균간의 차이는 얼마인가?

cust$sales - mean(cust$sales)


# 문제6: cust dataframe에 freq를 걸럼으로 추가한 후 처음부터 3명의 고객을 출력하라.

cust$freq <- freq

head(cust,3)


# 문제7: 고객별 구매1건당 평균 sales 금액을 구하여 avgsales 라는 이름의 컬럼으로

# cust dataframe에 추가한 후 마지막 두 명의  고객을 출력하라.

cust$avgsales <- cust$sales / cust$freq

tail(cust,2)


# 문제8: cust dataframe을 avgsales 순서로 정렬하고, avgsales가 가장 큰 세명의 고객을 출력하라.

head(cust[order(- cust$avgsales),], 3)


# 문제9: 고객의 freq와 sales간의 분포를 scatter plot으로 작성하라.

plot(cust$sales, cust$freq)

plot(cust$sales, cust$freq, col=rgb(0,0,1,0.3), pch=19, cex=2)