r语言 - 从 LSD.test 输出中提取字母



我在agricolae包中使用LSD.test

下面是一个可重现的示例

library('agricolae')
group <- c(1,1,1,2,2,2,3,3,3)
variable <- c(1,2,1.5,10,11,12,22,23,21)
df <- data.frame(cbind(group,variable))
model <- aov(variable~group,data=df)
LSD.test(model,"group",p.adj="bonferroni")

我得到了下面的输出,这很棒

$statistics
  MSerror Df Mean       CV  t.value      MSD
  0.8035714  7 11.5 7.794969 3.127552 2.289134
$parameters
  test  p.ajusted name.t ntr alpha
  Fisher-LSD bonferroni  group   3  0.05
$means
variable std r        LCL       UCL Min Max   Q25  Q50   Q75
1      1.5 0.5 3  0.2761907  2.723809   1   2  1.25  1.5  1.75
2     11.0 1.0 3  9.7761907 12.223809  10  12 10.50 11.0 11.50
3     22.0 1.0 3 20.7761907 23.223809  21  23 21.50 22.0 22.50
$comparison
NULL
$groups
variable groups
3     22.0      a
2     11.0      b
1      1.5      c
attr(,"class")
[1] "group"

我想从这个输出中提取中位数和字母。

例如,为了提取第 3 组的中位数,我使用了这个函数

output [[5]][[1]][[1]]

给出此输出

[1] 22

直到现在,一切都很好。我将解释问题并在下面提出问题。

现在,我也需要提取这封信。

我尝试了以下代码

output [[5]][[2]][[1]]
[1] a
Levels: a b c

我的问题是:有没有办法摆脱代码中的Levels: a b c语句并只得到字母?

提前非常感谢。

as.character(output [[5]][[2]][[1]])

解决了,多亏了@Tim比格莱森的评论

相关内容

  • 没有找到相关文章

最新更新