簡體   English   中英

使用 write.table 將列表寫入 R 中的 a.dat

[英]Writing a list into a .dat in R using write.table


我正在嘗試將此循環產生的數字列表寫入文件。 我使用下面的代碼已經能夠做到這一點,但 output 並不是我想要的。 我知道我需要使用 write.table 並且需要將其保存為 a.dat

誰能告訴我為什么“x”在每行之間打印? **我在文件中得到的內容:**
X
1800
X
1804
X
1808
X
ETC...

我想要的是:
1804
1808
1812
ETC...

 years <- seq(1800,2020) for (i in years){ i_div_400 <- i%%400 if (i_div_400 == 0 & (i%%4 == 0 && i%%100.= 0)){ write,table(i. "file,dat", append=TRUE, sep=",", quote=FALSE) } }

在 output 中獲得“x”的原因是因為這是使用write.table時的默認列名。 如果您不想在 output 中包含列名,請使用col.names = FALSE ,它將僅打印 output 中的數字。

years <- seq(1800,2020)

for (i in years){
  i_div_400 <- i%%400
  if (i_div_400 == 0 || (i%%4 == 0 && i%%100 != 0)){
    write.table(i, "file.dat", append=TRUE, sep=",", 
               row.names=FALSE, quote=FALSE, col.names = FALSE)  
  }
}

這也可以在沒有循環的情況下以矢量化方式編寫。

write.table(years[years %% 400 == 0 | (years %% 4 == 0 & years %%100 != 0)], 
          "file.dat", sep=",", row.names=FALSE, quote=FALSE, col.names = FALSE)  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM