R에서 csv 파일 factor 별로 분할 저장하기

데이터는 아래와 같을 경우,

CUSTOMER_ID CAMPAIGN_ID
<chr> <chr>
1 cno0001 00010
2 cno0002 00010
3 cno0003 00010
4 cno0004 00010
5 cno0005 00011
6 cno0006 00011
7 cno0007 00012
8 cno0008 00012
9 cno0009 00012

 

1. 데이터 Import

library(readr)
dt <- read_csv(“R/파일명.csv”)

 

2. 분할 기준이 될 컬럼을 factor 데이터형으로 변경

dt$CAMPAIGN_ID <- as.factor(dt$CAMPAIGN_ID)

levels(dt_test$CAMPAIGN_ID)
## 변경 결과 확인

 

3.  분할 및 csv 저장

by(dt, dt[,c(“CAMPAIGN_ID”)], function(sub) {
fn <- paste0(‘캠페인번호-‘, sub$CAMPAIGN_ID[1], ‘.csv’)

write.csv(sub, fn, row.names=FALSE)
})

 

cf. 특정 컬럼만 저장하고 싶다면 다음과 같이 실행
write.csv(sub[c(1)], fn, row.names=FALSE)
})

 

→ 결과

캠페인번호-00010.csv
캠페인번호-00011.csv
캠페인번호-00012.csv

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중