首页 > 解决方案 > 如何在 R 中正确执行 3-way MANOVA?

问题描述

一项实验评估了 3 个因素和 3 个对治疗的反应。选择的因素是使用的化学品 ( Chemical)、混合速度 ( Speed) 和固体量 ( Solids)。观察到的反应是Response1Response2Response3

使用本教程,我根据Chemical因子对 3 个响应执行了 1-way MANOVA。但是,我想根据 3 个因素进行 3-way MANOVA 来评估 3 个响应。在 MWE 我做了一个尝试,但我不知道这种方法是否正确。

我也接受可以为我提供更多信息的包裹建议或其他统计测试。

Chemical <- c(rep("Organic", 9), rep("Inorganic", 9))
Velocity <- rep(c(rep(100, 3), rep(200, 3), rep(300, 3)), 2)
Solids <- rep(c(0, 90, 180), 6)
Response1 <- runif(18, min = 20, max = 75)
Response2 <- runif(18, min = 0, max = 90)
Response3 <- runif(18, min = 90, max = 100)

df <- data.frame(Chemical, Velocity, Solids,
                 Response1, Response2, Response3)

df$Chemical <- factor(df$Chemical,
                      levels = c("Organic", "Inorganic"))

df$Velocity <- factor(df$Velocity,
                      levels = c(100, 200, 300))

df$Solids <- factor(df$Solids,
                    levels = c(0, 90, 180))


# 1-way MANOVA
manova_result1 <- manova(cbind(Response1, Response2, Response3) ~ Chemical,
                        data = df)

summary.aov(manova_result1)

# 3-way MANOVA attempt
manova_result2 <- manova(cbind(Response1, Response2, Response3) ~
                           cbind(Chemical, Velocity, Solids),
                        data = df)

summary.aov(manova_result2)

标签: ranovamultivariate-testingmanova

解决方案


推荐阅读