从 agricolae 中的 LSD.test 输出中提取字母

extracting letters from LSD.test output in agricolae

我在 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 Biegeleisen 的评论