我想将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),尽管它们打印得正确。
有人对这个问题有所了解吗?
我非常感谢任何帮助。
安迪
答案 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)