생명표법
데이터 불러오기
sales <- read.csv('sales.csv',
stringsAsFactors = F,
fileEncoding = "UTF-8")
연속변수(사용일)를 구간별로 나눠 갯수(count) 세기
max(sales$사용일)
x = c(1,1,3)
intervals = c(1, 4, 5)
x
cut(x, intervals, right = F)
무료고객과 유료고객 각각 사용일을 특정 구간별로 나눠 갯수(count) 세고 합치기
intervals <- round(seq(from = 0, to = 120, length.out = 50))
x1 <- cut(sales[sales$구매여부 == 1, '사용일'], breaks = intervals, right=F)
x2 <- cut(sales[sales$구매여부 == 0, '사용일'], breaks = intervals, right=F)
유료 <- table(x1)
무료 <- table(x2)
df <- t(rbind(무료, 유료))
엑셀 분석을 위하여 구간별 무료고객과 유료고객 데이터 수 저장
write.csv(df, 'LifeTable.csv')
생명표법 분석하기
df <- data.frame(df)
library(KMsurv)
total.n <- nrow(sales)
res.table <- lifetab(tis = intervals,
ninit = total.n,
nlost = df$무료,
nevent = df$유료)
res.table
plot(intervals[-length(intervals)], res.table$surv,
type = 's')
abline(v = 39, col = 'blue')
abline(h = .5, col = 'blue')
round(res.table,4)