r - 将数据框写入带有标题的 .xls 文件

标签 r xlsx dunn.test

我改编了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="")

最佳答案

您可以将源 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 中打开的结果是这样的:

enter image description here

关于r - 将数据框写入带有标题的 .xls 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27627798/

相关文章:

r - 如何防止嵌套 foreach 循环使用 R 中所有核心的 100% CPU?

r - data.table "list"与 ":="处理 NaN

java - Java 中是否有与平台无关的代码来调用默认应用程序来查看 PDF、DOCX、JPEG 等文档类型?

c# - .xlsx 的 OleDbConnection.GetOleDbSchemaTable 无法识别隐藏的工作表

python - 在xlsx writer中通过散点图绘制线

r - 如何自动化 dunn_test 和 ggboxplot?

r - 按个人可以接受两种治疗的治疗类型总结(计数/频率)

r - 图表上的多色文本