r-使用多补码器添加连接字母
我希望有人有2分钟的时间向我解释两件事。我在一个相当大的数据集上运行了这段代码。它使用multcompLetters将连接字母添加到我的方框图中。我有一个4种治疗和2种基因型的实验装置,所以我的aov就像y~Treat+Geno+Geno:Treat。 当我运行带有处理(3df)或交互(7df)的代码时,它似乎一直都很正常。当我在Geno上运行它时(这里是x),我得到一个错误r-使用多补码器添加连接字母,r,R,我希望有人有2分钟的时间向我解释两件事。我在一个相当大的数据集上运行了这段代码。它使用multcompLetters将连接字母添加到我的方框图中。我有一个4种治疗和2种基因型的实验装置,所以我的aov就像y~Treat+Geno+Geno:Treat。 当我运行带有处理(3df)或交互(7df)的代码时,它似乎一直都很正常。当我在Geno上运行它时(这里是x),我得到一个错误 Error in multcompLetters(t$x[, 1]) : Names required for t$x[
Error in multcompLetters(t$x[, 1]) : Names required for t$x[, 1]
我真的不知道为什么
第二项问题-
[4]在英语中是什么意思
groups2 <- multcompLetters(t$x[,4])
groups2multcompLetters
需要的是一个值矩阵,因为它需要不止一个比较。在数据中,您只有一个比较,yes
vsno
。如果查看t$x
变量内部,可以看到以下矩阵:
t$x
# diff lwr upr p adj
# yes-no 0.3 -1.631884 2.231884 0.747998
通常,这里会有很多行。不幸的是,当您仅从该矩阵中选择一行时,所有行名称都会被删除,multcompLetters
需要这些名称。例如:
t$x[,4]
# [1] 0.747998 # No names.
要防止出现这种情况,必须向子选择添加一个参数:
t$x[,4,drop=FALSE]
# p adj
# yes-no 0.747998 # Names intact
multcompLetters(t$x[,4,drop=FALSE]) # Works.
# $Letters
# yes-no
# "a"
#
# $LetterMatrix
# a
# yes-no TRUE
看看
t$x
。t$x[,4]
的内容占据第四列,即t$x
的所有行。更好的方法是说t$x[,'p adj']
,这样代码中的内容更可读。这是一个非常基本的R,所以在这里提问之前,您可能应该阅读一些教程。另外,我猜您正在使用包multcompView
,这也应该提到。您还未能为.R包含数据,我想这只是data.frame(x=x,y=y)
。谢谢。它是有效的,只需要一封信。但不是在每个盒子上面加一个字母。我很想读更多关于R的文章,但是我的论文周五早上有一个截止日期,所以它必须在那之后。这段代码起到了作用。但是,只有当我有两个以上的类别时,我才能使它起作用
t$x[,4,drop=FALSE]
# p adj
# yes-no 0.747998 # Names intact
multcompLetters(t$x[,4,drop=FALSE]) # Works.
# $Letters
# yes-no
# "a"
#
# $LetterMatrix
# a
# yes-no TRUE