2015-02-23 51 views
-2

不同的,因此,在R控制檯我運行一個迴歸,然後打印係數有:編程中的R - 輸出R中控制檯比腳本

summary(lm1)$coefficients 

結果是好的,漂亮。當我複製和粘貼時看起來很亂,但看起來不錯。每個迴歸者的名字被列在一個單獨的行上,然後係數跟隨,每個系列都在一個很好的列中,頂部有一個列標題。

在我在終端運行腳本(在我的MacBook,順便說一句)我使用這個命令:

dput(summary(lm1)$coefficients) 

結果(我只打算貼的一部分)是

>structure(c(-0.0206181857293946, -0.0017031360313225, 0.000315645616785813, 
>0.000599803702896499, 0.000329152314647127, -0.000359972132038397, 
>0.0069812874814682, -0.000468798197004485, 0.000260098693454015, 
> 
>... 
> 
>0.0292457238789278, 8.66406612930307e-11, 0.316665800834179, 
>0.0207690630122154, 0.0080390491577215, 0.0141105679984487, >7.13568902235773e-06 
>), .Dim = c(41L, 4L), .Dimnames = list(c("RatiotoSPY", >"fiveDayRatioStdDev", 
>"RANKfiveDayRatioStdDev", "slopeFiveDayRatioStdDev", >"RANKslopeFiveDayRatioStdDev", 
> 
>.... 

所以,幾件事情:

  1. 數字本身是由腳本印刷不匹配打印到控制檯上的數字。坦率地說,我不確定腳本正在打印什麼。
  2. 某些行有三個數字以逗號分隔,而其他行有四個數字。控制檯有4個:估計值,std.error,t值,Pr(> | t |)。同樣,腳本根本不打印與控制檯相同的值。
  3. 行沒有標籤,好像行標籤都聚合在底部的列表中。

有沒有簡單的方法可以很好地打印迴歸係數和統計數據?

+0

這裏沒有什麼是[可再現的(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible例如),所以我們不知道你的腳本正在打印什麼,以及哪些數字不匹配。每個人對「打印效果好」可能意味着什麼都有不同的定義,所以你需要非常明確地說明你需要什麼。 – MrFlick 2015-02-23 21:57:42

+0

向我們顯示顯示不一致的實際輸出。你的dput結果搞砸了,不可用。打印的差異是否歸因於四捨五入? – 2015-02-24 09:20:16

+0

對不起,消失了。所以,我想要對輸出進行全面控制。最終結果應該是逗號分隔的文件,其中包含因變量名稱,變量估計值std。錯誤,t值,P值。我知道在R控制檯中,我可以做彙總(lm1)$係數和SORT OF得到這個,但在腳本中...以及你可以看到它打印什麼。 – 2015-03-09 15:22:06

回答

1

需要檢查出令人難以置信的broom包。

install.packages("broom") 
lmfit <- lm(mpg ~ wt, mtcars) 
lmfit 

## 
## Call: 
## lm(formula = mpg ~ wt, data = mtcars) 
## 
## Coefficients: 
## (Intercept)   wt 
##  37.29  -5.34 

library(broom) 
tidy(lmfit) 

##   term estimate std.error statistic p.value 
## 1 (Intercept) 37.285 1.8776 19.858 8.242e-19 
## 2   wt -5.344 0.5591 -9.559 1.294e-10 

如果需要從summary(lmfit)輸出,使用glance()。經由小插圖可用

glance(lmfit) 

## r.squared adj.r.squared sigma statistic  p.value df logLik  AIC  BIC deviance df.residual 
## 1 0.7528328  0.7445939 3.045882 91.37533 1.293959e-10 2 -80.01471 166.0294 170.4266 278.3219   30 

其他信息:browseVignettes(package="broom")

+0

謝謝,先生! – 2015-02-23 21:33:57

+0

不幸的是,腳本的輸出仍然很怪異。我得到完全不同的數字,整潔()仍然以一種尷尬的方式打印輸出: -/hmm ..... – 2015-02-23 21:40:06