R:XLConnect不传递变量名称

时间:2013-06-26 08:01:23

标签: r excel xlconnect

我想将R中的线性模型计算结果传递给Excel中的工作表。为此,我使用XLConnect和以下代码:

x <- 1000:2000
y <- 3*x+rnorm(length(x))
fit <- lm(y~x-1)
result <- summary(fit)$coeff

print(result)

require(XLConnect)
wb <- loadWorkbook("/Users/andreas/test1.xls", create = TRUE)
createSheet(wb, name = "test")
writeWorksheet(wb, result, sheet = "test", startRow = 1, startCol = 1)
saveWorkbook(wb)

然而,问题是XLConnect没有将系数的名称传递给Excel(此处为:x),尽管它们打印得正确。

有人对这个问题有所了解吗?

我非常感谢任何帮助。

安迪

2 个答案:

答案 0 :(得分:4)

在这种情况下,变量名称在result转换为数据框后最终成为rowname。 rownames中有一个名为writeWorksheet的参数:

wb <- loadWorkbook("~/Desktop/test1.xls", create = TRUE)
createSheet(wb, name = "test")
writeWorksheet(wb, result, sheet = "test", startRow = 1, startCol = 1,rownames = "var")
saveWorkbook(wb)

答案 1 :(得分:0)

您可以将系数表的名称分别传递给值:

writeWorksheet(wb, colnames(result), sheet="test", startRow=1, startCol=2)
writeWorksheet(wb, rownames(result), sheet="test", startRow=2, startCol=1)
writeWorksheet(wb, result, sheet="test", startRow=2, startCol=2)