使用write.xlsx通过for循环在一个文件中的不同工作表上写入不同数据
Using write.xlsx to write different data on different sheets in one file by for loop in r
我正在尝试将每个国家/地区的数据写入每个以该国家/地区命名的 sheet 文件中的一个 xlsx
文件中。我在 r 中使用 xlsx
包。
我试过了
for (i in 1:noctry) {
write.xlsx(tab110rev[i,,], file="table.xlsx", sheetName = countrylist[i],
col.names=FALSE, row.names=FALSE)
}
noctry
代表国家数及其53
countrylist
是国家/地区代码为数字的国家/地区列表。
tab110rev
是一个数组,其结构为 array(value, c(country, industry, year))
问题是它只生成一个 xlsx
文件,其中只有一个 sheet 包含最后一个国家/地区。应该有 53 sheets,而不是只有一个。
我认为 for-loop
是覆盖而不是累积结果,但我不知道如何解决这个问题。
我想 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)
}
我正在尝试将每个国家/地区的数据写入每个以该国家/地区命名的 sheet 文件中的一个 xlsx
文件中。我在 r 中使用 xlsx
包。
我试过了
for (i in 1:noctry) {
write.xlsx(tab110rev[i,,], file="table.xlsx", sheetName = countrylist[i],
col.names=FALSE, row.names=FALSE)
}
noctry
代表国家数及其53
countrylist
是国家/地区代码为数字的国家/地区列表。
tab110rev
是一个数组,其结构为 array(value, c(country, industry, year))
问题是它只生成一个 xlsx
文件,其中只有一个 sheet 包含最后一个国家/地区。应该有 53 sheets,而不是只有一个。
我认为 for-loop
是覆盖而不是累积结果,但我不知道如何解决这个问题。
我想 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)
}