我在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比格莱森的评论