我想在单个 CSV 文件中写入多个数据帧“neighbours_dataframe”:
我使用这一行将多个数据帧写入多个文件:
for(i in 1:vcount(karate)){
write.csv(neighbours_dataframe[[i]], file = as.character(V(karate3)$name[i]),row.names=FALSE)}
如果我使用这段代码:
for(i in 1:vcount(karate)){
write.csv(neighbours_dataframe[[i]], file = "karate3.csv",row.names=FALSE)}
这会给我 csv 文件中的最后一个数据帧:
我想知道,我怎样才能有一个 CSV 文件,其中包含所有数据帧,第一个数据帧的列标题刚刚写入 csv 文件,并且所有其他数据帧以连续方式复制?
先感谢您
两种方法;第一个可能会快一点,如果neighbours_dataframe
是一个很长的列表(尽管我还没有测试过)。
方法一:先将数据帧列表转换为单个数据帧
正如 jbaums 所建议的。
library(dplyr)
neighbours_dataframe_all <- rbind_all(neighbours_dataframe)
write.csv(neighbours_dataframe_all, "karate3.csv", row.names = FALSE)
方法2:使用循环,追加
正如尼尔·富尔茨所建议的那样。
for(i in seq_along(neighbours_dataframe))
{
write.table(
neighbours_dataframe[[i]],
"karate3.csv",
append = i > 1,
sep = ",",
row.names = FALSE,
col.names = i == 1
)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)