我想从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

最佳答案

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

关于r - 如何从 "summary.glht"中提取p值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14833019/

10-13 02:35