我需要在 R 中执行多个成对方差分析,并使用 bonferroni 更正 p 值。但是,我不需要将每个 CLASS 相互比较。下面是我的数据格式和selcontrasts
:我需要对比 log10relquant 的对。你们中有人知道我该如何执行吗?我使用dplyr
,lsmeans
和broom
包。
SEX EXPERIENCED AGE CLASS compound relquant log10relquant
1 FEMALE NO 1D 1F C14 0.004012910 -2.396541
2 FEMALE NO 1D 1F C14 0.003759812 -2.424834
3 FEMALE NO 1D 1F C14 0.003838553 -2.415832
4 FEMALE NO 1D 1F C14 0.003582754 -2.445783
5 MALE NO 1D 1M C14 0.005099237 -2.292495
6 MALE NO 1D 1M C14 0.005379093 -2.269291
selcontrasts <- c("1F - 1M", "4F - 4M", "4EF - 4EM",
"7F - 7M", "7EF - 7EM", # sex differences
"1M - 4M", "4M - 7M", "1M - 7M", "1F - 4F",
"4F - 7F", "1F - 7F", # age differences
"4M - 4EM", "7M - 7EM", "4F - 4EF",
"7F - 7EF" # social experience)
x=list(selcontrasts)
目前我正在使用它来配对整个数据集(以便比较每个类)而不是选定的对比:
pvalsage=data.frame(datagr %>%
do( data.frame(summary(contrast(lsmeans(
aov(log10relquant ~ CLASS, data = .), ~ CLASS ),
method="pairwise",adjust="none"))) ))
为了只在列表 x 中选择对比,我尝试了:
pvalsage=data.frame(datagr %>%
do(data.frame(summary(contrast(lsmeans(
aov(log10relquant ~ CLASS, data = .),~ CLASS),
method = x, adjust="none"))) ))
但我得到了错误:
error in contrast.ref.grid(lsmeans(aov(log10relquant ~ CLASS, data = .), :
Nonconforming number of contrast coefficients