我调整了一个script,以便在多个变量上运行来自dunn.test包的多个(自定义后)比较dunn.test函数,这将生成多个数据帧,并将其与.xls文件中的以下(简化)代码保存为单独的表。我想要的是用每个日期框架保存分析过的变量(列)的名称,作为表标题(而不是列标题)。我找了几个小时的解决方案,但没有成功。怎么做?它们太多了,我不想手动输入它们。
wb <- createWorkbook()
sheet <- createSheet(wb, sheetName="Sheet1")
# start analyzing data in a for loop here
# and add created data frames to a sheet
addDataFrame(mydataframe, sheet)
# end loop here
saveWorkbook(wb, "myfile.xls", sep="")发布于 2014-12-23 23:50:42
您可以将源data.frame转换为文本矩阵,在任何标题前加上前缀,并将其写入文件。
例如,考虑到这个data.frame:
dat <- data.frame(Fruit=c('Apple', 'Banana'),
Quantity=1:2,
Notes=c('Hello', 'Some Text'))您可以使用这样的函数:
text_matrix <- function(dat, table_title) {
rbind(c(table_title, rep('', ncol(dat)-1)), # title
rep('', ncol(dat)), # blank spacer row
names(dat), # column names
unname(sapply(dat, as.character))) # data
}然后,您可以调用该函数并将输出写入文件(如果必须使用write.table或xls转换包之一)。
temp <- text_matrix(dat, table_title='Here is a table title')
write.table(temp, 'temp.csv', row.names=F, col.names=F, sep=',')在Excel中打开的结果是:

发布于 2014-12-23 21:02:33
希望下面的内容能有所帮助。我快速创建了一个示例数据集。Output.csv可以在您的主目录中找到。在excell中打开它将显示列标题。
n = 20
set.seed(12345)
data = data.frame(cbind(pond=1:2, habitat=1:3, value = rnorm(n)))
write.csv(data, file="output.csv")https://stackoverflow.com/questions/27627798
复制相似问题