我正在尝试在R中执行线性回归的结果,并将这些结果存储在数据库中。
具体来说,我所追求的是coef(summary(myModel)
中的数据。我可以将其转换为数据框并使用sqlSave()
,但系数名称不是数据框中的列。如何将系数和变量名称放入可以使用sqlSave()
保存的单个数据框中?
为清楚起见,我正在尝试将数据存储在具有以下列的数据库表中:
VariableName,Estimate,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
答案 0 :(得分:2)
datOut <- summary(myModel)$coef
datOut <- cbind(VariableName=rownames(datOut), datOut)
rownames(datOut) <- NULL
如果您想添加自己的列名:
colnames(datOut) <- c("VariableName", "Estimate", "StdError", "tValue", "pValue")
datOut
答案 1 :(得分:1)
summary.lm
生成的表格是一个矩阵。您可以使用as.data.frame
df.coef <- as.data.frame( coef(summary(myModel)) )
应将列名强制转换为没有空格或引号的列名。