2

我正在尝试获取在 R 中执行的线性回归的结果并将这些结果存储在数据库中。

具体来说,我所追求的是coef(summary(myModel). 我可以将其转换为数据框并使用sqlSave(),但系数名称不是数据框中的一列。如何将系数和变量名称放入可以使用保存的单个数据框中sqlSave()

为清楚起见,我试图将数据存储在具有列的数据库表中:

变量名、估计、StdError、tValue、pValue

有没有更简单的方法来准备这些数据以存储在数据库中?作为一个例子,这里coef(summary(myModel))给出的结果是:

                        Estimate  Std. Error     t value     Pr(>|t|)
 (Intercept)            51.52729727 2.623035966 19.64414439 1.941150e-58
 factor(person)507      -0.73663931 2.627215539 -0.28038785 7.793456e-01
 factor(person)713      -5.18612049 3.317899029 -1.56307363 1.189390e-01
 TransCnt               0.02658798 0.005682853  4.67863266 4.132888e-06
 factor(Month)5         0.67908563 1.119655304  0.60651312 5.445673e-01
 factor(Month)6         2.09595623 1.169658148  1.79193915 7.400639e-02
 factor(Month)7         2.91204838 1.333483558  2.18379024 2.964109e-02
4

2 回答 2

3
datOut <- summary(myModel)$coef
datOut <- cbind(VariableName=rownames(datOut), datOut)
rownames(datOut) <- NULL

如果要添加自己的列名:

colnames(datOut) <- c("VariableName", "Estimate", "StdError", "tValue", "pValue")
datOut
于 2013-07-31T20:57:14.493 回答
1

生成的表格summary.lm是一个矩阵。您可以强制使用数据框as.data.frame

 df.coef <- as.data.frame( coef(summary(myModel)) )

列名应强制为没有空格或引号的列名。

于 2013-07-31T21:08:23.213 回答