[英]how to write multiple dataframe to a single csv file in a loop in R?
我想在單個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
是很長的列表,則第一個可能會更快一些(盡管我尚未對此進行測試)。
方法1:首先將數據幀列表轉換為單個數據幀
如jbaums所建議。
library(dplyr)
neighbours_dataframe_all <- rbind_all(neighbours_dataframe)
write.csv(neighbours_dataframe_all, "karate3.csv", row.names = FALSE)
方法2:使用循環,附加
正如Neal Fultz所建議的那樣。
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
)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.