使用write.xlsx通过r中的for循环在一个文件中的不同工作表上写入不同的数据

kim*_*298 0 for-loop r xlsx

我试图将每个国家/地区的数据写入以该国家/地区命名的每个工作表中的一个xlsx文件中。我xlsx在 r 中使用包。我试过了

  for (i in 1:noctry) {
     write.xlsx(tab110rev[i,,], file="table.xlsx", sheetName = countrylist[i],
              col.names=FALSE, row.names=FALSE)  
}
Run Code Online (Sandbox Code Playgroud)

noctry代表国家数量,其 53
countrylist是国家代码为数字的国家列表。
tab110rev是一个具有以下结构的数组array(value, c(country, industry, year))

这样做的问题是它只生成一个xlsx包含最后一个国家的只有一张纸的文件。应该有 53 张,而不是一张。我认为这for-loop是覆盖而不是累积结果,但我不知道解决这个问题。

小智 5

我想append = T应该可以解决您的问题。尝试这个:

for (i in 1:noctry) {
     write.xlsx(tab110rev[i,,], file="table.xlsx", sheetName = countrylist[i],
                col.names=FALSE, row.names=FALSE, append = T)  
}
Run Code Online (Sandbox Code Playgroud)