【发布时间】:2017-08-26 13:22:06
【问题描述】:
我想处理包含 29 个工作表的 Excel 文件中的数据。 Excel 文件被细分为 29 个 CSV 文件。
我编写的代码为我提供了一个 Excel 文档,其中所有 29 个工作表只有一行。我需要为每个(加载的)工作表(最后 29 行)打印一个摘要。
for (i in 1:length(list.filenames))
{
list.data[[i]]<-read.csv(list.filenames[i])
cdata <- ddply(list.data[[i]], c("Year"), summarise, God.Padavine = sum(PRECIPITATION), N = length(PRECIPITATION), mean = mean(PRECIPITATION), sd = sd(PRECIPITATION), se = sd *100/mean)
cdata111 <- ddply(cdata, c(), summarise, God.Padavine1 = sum(God.Padavine)/70, N = length(God.Padavine), mean = mean(God.Padavine), sd = sd(God.Padavine), se = sd *100/mean)
write.xlsx(x = cdata111, file = "test.excelfile111.xlsx", sheetName = "TestSheet", row.names = FALSE)
}
【问题讨论】:
-
也许可以编辑您的帖子。使用最小的示例而不是整个代码。目前还不太清楚您在寻找什么。一般来说,在 R 中使用 Excel 时,我建议您使用
openxlsx。 -
我有 29 个 CSV 文件,新 Excel 文件中的程序只写入最后一个 CSV 文件中的值。我想在我的代码和新的 Excel 文件中包含每个 CSV 文件中的所有数据。问题是:如何从每个采购的 CSV 文件中使 Excel 文件成为一行
-
我意识到我忘记了指导方针:stackoverflow.com/help/mcve 你的代码的问题是你覆盖了你的 xlsx。您只需循环前两行代码。
-
看起来它可以覆盖......在Excel表格中,它应该逐行添加,他似乎只写在第一行,然后只写最后一张表中的数据
-
for 循环后的矩阵结果全部为 0 元素!!!这是问题!!!