【发布时间】:2012-11-06 08:10:26
【问题描述】:
我想从 R 中保存下表:
x <- rnorm(100)
y <- rnorm(100)
z <- rnorm(100)
model <- z ~ x + y
results <- glm(model)
pe <- results$coefficients
vc <- vcov(results)
se <- sqrt(diag(vc))
results.table <- round(cbind(pe, se),3)
rownames(results.table) <- c("Intercept", "X-Estimate", "Y-Estimate")
colnames(results.table) <- c("Parameter", "pe", "Se")
write.table(results.table,file="test.csv",row.names=T,col.names=NA,sep=",")
但是,我无法为行名提供列名:
colnames(results.table) <- c("pe", "Se") # works
colnames(results.table) <- c("Param", "pe", "Se") # Doesn't work, incorrect length
更新:答案
根据评论,这是不可能的。如果您有兴趣,这里有一个迂回的方法:
rows <- c("Intercept", "X-Estimate", "Y-Estimate")
results.table <- round(cbind(pe, se),3)
results.table <- cbind(rows,results.table)
colnames(results.table) <- c("Parameter", "pe", "Se")
write.table(results.table,file="test.csv",row.names=F,sep=",",quote=F)
【问题讨论】:
-
行名是矩阵的属性,而不是矩阵元素中存在的值。它们不在可以命名的“列”中。
-
所以我想这是不可能的,应该只是 cbind 行名并给他们一个列名
标签: r export-to-csv