https://polar-comet-18d.notion.site/R-31c70bf91c1c4b53ab262b58fe4a1fa1
데이터의 구조
str(travel)
'data.frame': 78 obs. of 3 variables: $ cust_id : int 1 1 1 1 1 1 1 2 2 2 ... $ destination: Factor w/ 14 levels "뉴욕","런던",..: 10 11 13 7 8 2 4 10 11 13 ... $ date : Factor w/ 19 levels "1/1/16","1/10/16",..: 6 13 14 15 16 17 18 6 13 14 ...
head(travel)
cust_id destination date 1 1 오사카 1/2/16 2 1 오키나와 2/24/16 3 1 파리 3/1/16 4 1 베이징 4/10/16 5 1 상해 5/19/16 6 1 런던 6/10/16
전체 구문 수행
travel
데이터를 원하는 만큼 수를 제한해 가져오는 방법
travel[1:20,]
통합 함수를 이용해 데이터의 중복을 제거하고 겹치지 않는 데이터만 모아서 가져옴
aggregate(. ~ destination, data=travel, sum)
destination cust_id date 1 뉴욕 12 41 2 런던 26 32 3 로마 17 28 4 몰디브 22 91 5 방콕 78 77 6 베를린 53 56 7 베이징 65 64 8 상해 110 124 9 시드니 64 55 10 오사카 99 122 11 오키나와 42 97 12 이스탄불 26 43 13 파리 6 42 14 파타야 62 90
library(arules) travel3<-as(travel2, "transactions") travel3
# 데이터의 구조
str(travel)
head(travel)
travel
travel[1:20,]
# 통합 함수를 이용해 데이터의 중복을 제거하고 겹치지 않는 데이터만 모아서 가져옴
aggregate(. ~ destination, data=travel, sum)
# 연관성 분석에 필요한 변수만 추출
travel1<-travel[, c("cust_id", "destination")]
travel1
# 고객 아이디별로 방문한 도시를 묶어서 객체로 저장
travel2<-split(travel$destination, travel1$cust_id)
travel2
install.packages("<https://cran.r-project.org/src/contrib/Archive/arules/arules_1.7-2.tar.gz>", repos = NULL, type="source")
library(arules)
travel3<-as(travel2, "transactions")
travel3
as(travel1, "data.frame")
table(travel1)
# costomer_rfm의 구조
str(customer_rfm)
# 상단값
head(customer_rfm)
# 평균 구매금액
aggregate(monetary ~ monetary_level, data=customer_rfm, mean)
aggregate(frequency ~ frequency_level, data=customer_rfm, mean)
aggregate(recency ~ recency_level, data=customer_rfm, mean)
#RFM 레벨변수가 잘 생성된 것을 검증 완료
#rfm 레벨 기준으로 고객의 집단을 분류하는 세분화
rfm_level<-aggregate(. ~ monetary_level+frequency_level+recency_level, data=customer_rfm, mean)
rfm_level
# rgl 패키지 불러오기
remove.packages("rgl")
install.packages("rgl")
ls("package:rgl")
packageVersion("rgl")
library(rgl)
# 3d plot을 통한 RFM 지수 시각화
plot3d(customer_rfm$monetary, customer_rfm$frequency, customer_rfm$recency,
xlab = 'Monetray', ylab = 'Frequency', zlab = 'Recency', col="blue", size=6)
반응형
'Data Science > R' 카테고리의 다른 글
[R] 데이터 형변환 및 합 (0) | 2022.03.01 |
---|---|
[R] 상품 추천 (0) | 2022.03.01 |
[R] 소비 패턴 분석 및 프로파일링 (0) | 2022.03.01 |
[R] 데이터 변수 추출 및 기본 함수 (0) | 2022.03.01 |
[R] 데이터 확인 및 간단한 시각화 (0) | 2022.02.21 |
댓글