2

我想将线性模型计算的结果从 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),尽管它们被正确打印出来。

有人对这个问题有想法吗?

我将不胜感激任何帮助。

安迪

4

2 回答 2

5

在这种情况下,变量名称一旦result转换为数据框,就会作为行名结束。有一个参数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)
于 2013-06-26T12:37:11.953 回答
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)
于 2013-06-26T08:13:56.383 回答