2015-11-19 39 views
0

我正在嘗試獲取數值爲的估計值和Std。錯誤的摘要對象,但我正在訪問應用程序中錯誤的行(我認爲)。我怎樣才能解決這個問題?獲取彙總對象的行

require(MASS) 
colnames(Cars93) 
ll<-lm(Fuel.tank.capacity~Length*Passengers,data=Cars93) 
s<-summary(ll)$coeff 
apply(s,1,function(x){ 
    paste(x[1]+3,x[2]+3) #trying to return intercept and length for each row 
    }) 

目標:

-8.18 17.93 
0.11 0.09 
..... 
+0

你在找'sprintf()'嗎?最終你想刪除名稱屬性。 – jogo

回答

1

以下代碼應該可以做你正在尋找的東西:

t(apply(s,1,function(x){ 
    c(x[1],x[2]) 
})) 


        Estimate Std. Error 
(Intercept)  -8.180069747 17.93108069 
Length    0.119717136 0.09943864 
Passengers  -0.008363972 3.55247973 
Length:Passengers 0.003146143 0.01941267 
0

下面的代碼返回包含估計,一個空間,截距(命名)字符串列表:

> apply(s[,c(1,2)],1,paste,collapse = " ") 
          (Intercept)         Length 
    "-8.18006974657324 17.9310806930227" "0.119717136183204 0.0994386410426733" 
          Passengers      Length:Passengers 
"-0.00836397172098245 3.55247972849905" "0.00314614268107023 0.019412665227971" 

這是不太什麼你問過,因爲它仍然是一個有名的矢量,但你可以根據需要使用另一個paste(collapse="\n")粘貼其餘部分。請注意,字符串中的\n是回車,但在解釋器中顯示時,它只是打印爲\ n。

3

對象 'S' 是一個矩陣

is.matrix(S)

[1] TRUE 

因此,從該對象中提取由截距和標準誤差:

s[,1:2] 

        Estimate Std. Error 
(Intercept)  -8.180069747 17.93108069 
Length    0.119717136 0.09943864 
Passengers  -0.008363972 3.55247973 
Length:Passengers 0.003146143 0.01941267 
+0

我很抱歉,但我的帖子不清楚。我用粗體添加了一條評論,希望能夠澄清它。我需要能夠根據它所在的行執行操作。 – Rilcon42