我已成功上传数据,在我的数据集上运行 shapiro、bartletts 和单向方差分析,但是无论我尝试什么,我似乎都无法运行 TukeyHSD 而不收到一些错误消息,例如上面的错误消息,这是我输入的内容我错过了什么?
> my_data <- aov(yield~temp, data=Pectin)
> summary.aov(my_data)
Df Sum Sq Mean Sq F value Pr(>F)
temp 1 63.90 63.90 24.67 0.000327 ***
Residuals 12 31.09 2.59
> TukeyHSD(Pectin)
Error in UseMethod("TukeyHSD") :
no applicable method for 'TukeyHSD' applied to an object of class "c('tbl_df', 'tbl', 'data.frame')"
> TukeyHSD(my_data)
Error in TukeyHSD.aov(my_data) : no factors in the fitted model
In addition: Warning message:
In replications(paste("~", xx), data = mf) : non-factors ignored: temp
> TukeyHSD(summary.aov(my_data))
Error …
Run Code Online (Sandbox Code Playgroud) 我有一个数据集,我想用它来比较物种和栖息地对家园大小的影响 - 同时使用 III 型错误和物种和栖息地内的成对比较。
这是数据的一个子集:
species<- c("a","b","c","c","b","c","b","b","a","b","c","c","a","a","b","b","a","a","b","c")
habitat<- c("x","x","x","y","y","y","x","x","y","z","y","y","z","z","x","x","y","y","z","z")
homerange<-c(6,5,7,8,9,4,3,5,6,9,3,6,6,7,8,9,5,6,7,8)
data1<-data.frame(cbind(species, habitat, homerange))
data1$homerange<-as.numeric(as.character(data1$homerange))
Run Code Online (Sandbox Code Playgroud)
目前我正在拆分三个物种的数据,然后为每个物种运行单独的方差分析,但我相信使用一个方差分析同时询问物种和栖息地更有意义。这是我为一个物种运行的方差分析的示例:
data.species.a<-subset(data1, species=="a")
fit<-aov(homerange ~ habitat, data=data.species.a)
summary(fit)
TukeyHSD(fit)
Run Code Online (Sandbox Code Playgroud)
aov() 似乎使用 I 型错误。. . 我认为不合适;加上我相信 Tukey 的测试对于成对比较来说可能过于保守。有人可以帮助我采用一种方法来运行一个方差分析,该方差分析同时考虑物种和栖息地对家园的影响,带有 III 型错误,这也允许对物种和栖息地进行不太保守的成对比较吗?
我正在尝试使用 yaxis 上的计数 (MedMean) 和 xaxis 上的各种独立样本 (Site_Name) 的 ggplot 创建箱线图。
ggplot(medianlist,aes(x=reorder(Site_Name,MedMean,FUN=median),y=MedMean))+
geom_boxplot()
Run Code Online (Sandbox Code Playgroud)
我想将 Tukey 的意义字母添加到框中。
谢谢
总的来说,我对 R 和编码非常陌生,所以我对任何看起来愚蠢的事情提前表示歉意。
\n\n我进行了方差分析,并想对我的数据进行 TukeyHSD。起初,效果很好。然后我创建了两个数据集。在每一种剂量类型中,我都对数据进行了排序,仅包含两种剂量类型中的一种。然后我继续执行方差分析(有效),但 Tukey 产生此错误
\n\n\n\n\n-[.data.frame`(mf, mf.cols[[i]]) :选择未定义的列。
\n
这意味着什么?我在新创建的数据集中搜索列的名称,它们都存在。
\n\n太感谢了!!
\n\n这是我创建的数据集和收到的错误。
\n\ndf1 <- Flor_Group_1_2019_EC[Flor_Group_1_2019_EC$Dose=="IM", ]\ndf2 <- Flor_Group_1_2019_EC[Flor_Group_1_2019_EC$Dose=="SC", ]\naov1 = aov(`CFU/g`~Treatment+`Time Point`, data=df1)\n summary(aov1)\n Df Sum Sq Mean Sq F value Pr(>F) \nTreatment 3 3.068e+15 1.023e+15 7.774 7.98e-05 ***\n`Time Point` 16 2.065e+16 1.291e+15 9.810 7.20e-16 ***\nResiduals 134 1.763e+16 1.316e+14 \n---\nSignif. codes: 0 \xe2\x80\x98***\xe2\x80\x99 0.001 \xe2\x80\x98**\xe2\x80\x99 0.01 \xe2\x80\x98*\xe2\x80\x99 0.05 \xe2\x80\x98.\xe2\x80\x99 0.1 \xe2\x80\x98 \xe2\x80\x99 1\n1 observation deleted due to missingness\nTukeyHSD(aov1)\n
Run Code Online (Sandbox Code Playgroud)\n\n\n
[.data.frame …
我无法为我的结果生成紧凑的字母显示。我运行了方差分析,然后运行了 Tukey 的 HSD,以生成每对的 p 值,但我不知道如何(或者是否可能?)为这些 p 值分配字母以显示哪些对彼此之间具有显着性。
csa.anova<-aov(rate~temp*light,data=csa.per.chl)
summary(csa.anova)
TukeyHSD(csa.anova)
这运行了我需要的测试,但我不知道如何为每个 p 值分配字母以显示哪些对是重要的。
我对方差分析进行了事后 Tukey 检验,然后绘制了结果图。我似乎无法更改 x 轴标题或 y 轴标题。我收到此错误:
Error in plot.default(c(xi[, "lwr"], xi[, "upr"]), rep.int(yvals, 2L), :
formal argument "xlab" matched by multiple actual arguments
Run Code Online (Sandbox Code Playgroud)
这是我的相关代码:
tuk <- TukeyHSD(final)
plot(tuk,xlab="Differences in mean departure times", ylab="Comparisons")
Run Code Online (Sandbox Code Playgroud)
我还需要更改 y 轴刻度线标签,但我不知道如何更改。
谢谢。
我有一个包含 4 个条件(A、B、C、D)的日期集。我在运行单向方差分析时观察到,在 4 个条件下,我的因变量(反应时间,RT)呈线性增加。
我想运行事后测试,看看 RT 从 A 到 B、从 B 到 C、从 C 到 D 的增加对于 Tukey HSD 事后测试是否显着。
为了在 Python 中运行测试,我使用以下代码:
#Multiple Comparison of Means - Tukey HSD
from statsmodels.stats.multicomp import pairwise_tukeyhsd
print(pairwise_tukeyhsd(df["RT"], df['Cond']))
Run Code Online (Sandbox Code Playgroud)
我面临的问题是,这里假设我对所有可能的比较感兴趣(A vs B、A vs C、A vs D、B vs C、B vs D、C vs D)。因此,所应用的校正是基于 6 次测试。然而,我只是对 3 个比较(A 与 B、B 与 C、C 与 D)进行假设。
我如何告知事后测试我感兴趣的比较的数量/类型?
我环顾四周,对emmeans中的 Tukey 调整感到很困惑。emmeans 的文档根本没有提到 Tukey HSD,但在这里据说“对于大多数对比度()结果,调整通常是其他东西,具体取决于创建的对比度类型。例如,成对比较默认为adjustment = "tukey",即Tukey HSD方法。 "。
据我了解,Tukey HSD本质上是一系列对 I 类错误进行调整的成对 t 检验。但emmeans函数正在计算估计边际均值 (EMM),我认为这不是成对 t 检验;然后将 Tukey 调整应用于emmeans输出,将不等同于 Tukey HSD 事后测试。
第二个相关问题是函数“tukey.emmc”(也来自emmeans )的作用是什么?
[更新]我想我的第二个问题是,tukey.emmc 和对比度()与'调整=“tukey”'之间有什么区别?
我在导出TukeyHSD结果时遇到问题,因此当我在Excel中打开结果时,它们会在单元格中分开.我尝试使用write.csv(),但它说:
cannot coerce class "c("TukeyHSD", "multicomp")" to a data.frame
Run Code Online (Sandbox Code Playgroud)
如何以我可以复制并粘贴到Excel工作表中的方式捕获我的TukeyUSD结果?
这是中提到broom
的网站,它可以被用于TukeyHSD
和multcomp
(见这里)。但是,我无法弄清楚如何使用broom
forTukeyHSD
和multcomp
。
请参阅下面给出的 MWE。
df1 <- data.frame(
Rep = factor(rep(1:3, each = 4, times = 2)),
Trt = rep(paste0("T", 1:4), times = 6),
Loc = rep(paste0("Loc", 1:2), each = 12),
Y = rnorm(24)
)
library(dplyr)
df2 <- filter(df1, Loc=="Loc1")
fm1 <- aov(Y ~ Rep + Trt , data = df2)
anova(fm1)
library(multcompView)
fm1Tukey1 <-
data.frame(Letter = multcompLetters(TukeyHSD(fm1)$Trt[, "p adj"])$Letters)
fm1Tukey <- data.frame(Trt = row.names(fm1Tukey1), fm1Tukey1)
fm1Means1 <- …
Run Code Online (Sandbox Code Playgroud) tukey ×10
r ×9
anova ×3
posthoc ×2
axis-labels ×1
broom ×1
dplyr ×1
emmeans ×1
export ×1
ggplot2 ×1
multcompview ×1
plot ×1
python ×1
python-3.x ×1
statsmodels ×1