我调整了一个script来运行dunn.test
包中的多个(post-hoc)比较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="")
答案 0 :(得分:2)
您可以将源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中打开的结果是:
答案 1 :(得分:0)
希望以下有所帮助。我快速创建了一个示例数据集。 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")