2013-02-12 49 views
4

我想提取從PR值p值(> | T |)列如何提取 「summary.glht」

library(lsmeans)  
warp.lm = lm(breaks ~ wool * tension, data = warpbreaks) 
toP<-lsmeans(warp.lm, pairwise ~ wool | tension, glhargs=list()) 
toP[[2]] 

     Simultaneous Tests for General Linear Hypotheses 

Fit: lm(formula = breaks ~ wool * tension, data = warpbreaks) 

Linear Hypotheses: 
       Estimate Std. Error t value Pr(>|t|) 
A - B | L == 0 16.333  5.157 3.167 0.00797 ** 
A - B | M == 0 -4.778  5.157 -0.926 0.73187 
A - B | H == 0 5.778  5.157 1.120 0.60282 
--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
(Adjusted p values reported -- single-step method) 

如何做到這一點? class(toP[[2]])說它"summary.glht" "glht"。在頂部有$ p值[[2]] [9],但頂部[[2]] [9] $ p值給NULL

回答

4

如果你想知道「元素」,您可以訪問給定對象,不使用class,使用names

R> names(toP[[2]]) 
[1] "model"  "linfct"  "rhs"   "coef"  "vcov"  
[6] "df"   "alternative" "type"  "test"  

在這裏,你可以看到,有一個元素叫做test。讓我們來看看它:

R> names(toP[[2]]$test) 
[1] "pfunction" "qfunction" "coefficients" "sigma"  
[5] "tstat"  "pvalues"  "type"   

嗯,有一個叫做pvalues的元素。聽起來不錯。您可以訪問它:

R> toP[[2]]$test$pvalues 
[1] 0.007954354 0.731843623 0.602840958 
attr(,"error") 
[1] 7.579683e-05 

在這裏,你會得到你的p值...

另一種獲得一個物體的結構是使用str()。適用於您的案例(str(toP[[2]]))它會導致一點輸出,但可以讓您直接確定訪問您的p值的方式。

+0

任何建議,以提取ph值從'glht()'對象['庫multicomp)']?謝謝!! – Rafael 2014-08-05 06:21:33

2

你嘗試:

toP[[2]]$test$pvalues 
+0

是的。也給NULL – sviter 2013-02-12 13:00:36

+0

對不起,現在它的工作原理 – vodka 2013-02-12 13:04:05