我正在处理一组文档,需要自动将groupby和子集转换为新文件。我可以手动完成此操作,但是有200多个文档,每个文档中有大约45,000个观察值,因此产生了1,000多个文档。我的想法是在df中使用唯一值的每个实例将具有该唯一名称的所有值保存到具有该名称的df中。在下面的示例中,我现在有3个数据框,分别是:法拉利,福特和奥迪。
value <- c(1:10)
name <- c("ferrari","ferrari","ferrari","ford","ford","ford","ford","audi","audi","audi")
data <- data.frame(value,name)
uniques <- unique(data$name)
for(file in uniques){
file <- subset(data, data$Name == file)
}
这只会导致一个名为0观测值的DF文件。我也尝试了长度df的法线。非常感谢任何帮助-我绝对不习惯编写循环。
joran的解决方案很优雅,但也可以用您自己的方法解决。简便的for-loop单线将所有子集保存到Excel文件中。
> audi.xlsx
value name
8 8 audi
9 9 audi
10 10 audi
> ferrari.xlsx
value name
1 1 ferrari
2 2 ferrari
3 3 ferrari
> ford.xlsx
value name
4 4 ford
5 5 ford
6 6 ford
7 7 ford
for(i in 1:length(uniques)){
write.xlsx(subset(data, data$name == uniques[i]), paste0(uniques[i], ".xlsx"))
}
library(xlsx)
data <- data.frame(value = c(1:10),
name = c(rep("ferrari",3), rep("ford",4), rep("audi",3)))
uniques <- unique(as.character(data$name))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句