如何从“summary.glht”中提取p值

时间:2013-02-12 12:52:14

标签: r

我想从Pr(> | t |)列

中提取值
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"。 toP [[2]] [9]中有$ pvalues,但toP [[2]] [9] $ pvalues给出NULL

2 个答案:

答案 0 :(得分:6)

如果您想了解可以访问给定对象的“元素”,请不要使用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值的方式。

答案 1 :(得分:2)

你有没有尝试过:

 toP[[2]]$test$pvalues