我有一个包含 2500 万行的文件,需要根据因子级别将其拆分为更小的文件。我创建了一个数据框来包含不同的因子级别,并编写了一个循环来执行一些操作并写出一个csv
.
数据看起来像这样:
Country Col2 Code Year
A C 1 2020
A D 1 2020
A C 1 2020
A D 2 2020
A C 2 2020
A D 2 2020
A C 2 2020
A D 3 2020
目的是根据代码为每个子集编写一个csv文件
d1 <- data %>%
distinct(Code)
for(i in 1:nrow(d1))
{
subset <- data %>%
filter(Code == Code[i])
co <- subset$Code[i]
yr<- subset$Year[i]
setwd("C:/Users/...")
write.csv(subset, paste(co,"_",Year, ".csv", sep=""), append = FALSE, row.names = FALSE)
}
输出不断写入同一文件,而不是在目录中创建单独的文件。
有更好的方法吗?谢谢。
Use split
根据因子级别拆分数据。
df_dat <- split(df, df$Code)
lapply(df_dat, function(x) write.csv(x, paste0('df_', x$col2[1], '.csv'), row.names = FALSE))
这将在您的工作目录中创建单独的数据框。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)