[英]Write CSV file with two columns in R loop (append)
我有一些其他復雜的腳本,可以正常工作,除了給csv文件寫入帶來麻煩。 讓我們在此舉個例子,我希望k和j出現在20行中,k在第一列中,而j在第二列中。
for (i in 1:20)
{
k = i+2;
j = i+20;
m= data.frame(k,j)
write.csv(m,file="Dummy.csv",append=TRUE)
print(m)
}
問題是, 即使將append設置為TRUE , 它也只將m的最終值寫入到csv中
我的問題是, 我是否需要將“ m”作為數據幀,矩陣或向量?
(考慮到k和j是特殊的更改文本字符串,我正嘗試從語料庫中提取CSV來替換它)
以下是CSV文件的輸出:
“”,“ k”,“ j”“ 1”,22,40
您不能對write.csv
使用append = TRUE
。 想法是,應該很難弄亂write.csv
並執行您不想執行的操作。
您可以將其與write.table
一起使用,以提供以下解決方案:
for (i in 1:20)
{
k = i+2;
j = i+20;
m = data.frame(k,j)
write.table(m, file="Dummy.csv",
append=TRUE,
col.names = FALSE,
sep = ',')
print(m)
}
注意,您有遺漏的列名,否則將在循環的每次迭代中添加列名。
但是,一個更好的主意是分部分構建數據幀,最后將其寫入csv。
m <- data.frame(NULL)
for (i in 1:20)
{
k <- i+2;
j <- i+20;
m <- rbind(m, data.frame(k,j))
}
write.csv(m, file="Dummy2.csv")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.