【发布时间】:2017-11-22 21:00:54
【问题描述】:
我正在尝试对许多因变量运行方差分析。我有一个自变量,即我的分组变量(Group)。我有大约 25 个 DV -“TMTG、TMTF、CUE、CSE、TCUE、TCSE、WRS、WMAO、TWRS、TWMAO、JCP、JCPE ....etc”。我对前三个变量使用了以下代码,并且得到了所需的输出。如何调整代码以同时获取所有 25 个变量的输出,但不命名它们?我有另一个 100 DV 的数据集 - 我不能写出来!
这是数据框
Group TMTG TMTF CUE CSE WRS
TN 27 33 35.12 13.56 0
TN 32 34 12.90 25.56 0
TN 14 78 11 14.78 0
TN 89 41 98 45.25 0
TL 65 11 18.5 23.89 0
TL 12 78 34.6 41.85 0
TL 11 20 35.5 45.5 0
TL 27 25 11.28 55.69 0
代码如下:
mydataframe
manova_1 <-
manova(cbind(TMTG, TMTF, CUE) ~ as.factor(Group), data = mydataframe)
manova_1
summary.aov(manova_1)
这是输出
Response TMTG :
Df Sum Sq Mean Sq F value Pr(>F)
as.factor(Group) 1 0.535 0.5351 0.1683 0.6858
Residuals 21 66.769 3.1795
Response TMTF :
Df Sum Sq Mean Sq F value Pr(>F)
as.factor(Group) 1 0.02 0.016 5e-04 0.9831
Residuals 21 749.13 35.673
Response CUE :
Df Sum Sq Mean Sq F value Pr(>F)
as.factor(Group) 1 14.7 14.75 0.0372 0.8489
Residuals 21 8325.7 396.46
我想调整这条线:
manova(cbind(TMTG, TMTF, CUE) ~ as.factor(Group), data = mydataframe,
这样 cbind 就可以接收所有列,而无需我将它们写出来。我试过 cbind(2:24) 但它不起作用!任何帮助将不胜感激!!!
【问题讨论】:
-
我在下面发布了一个答案,但只是为了仔细检查,您是想为每个响应变量做一个 manova 还是一个单独的 anova? (您的代码让我想到前者,但您的问题听起来像是后者)。
-
@jruff003 谢谢!我确实希望每个响应变量都有一个单独的方差分析。但是我想不出可以一口气给我这一切的代码!你有什么建议吗?再次感谢!
-
@jruf003 感谢您的帮助!你的回答有帮助。同样对于我之前评论中的 anova 问题 - 我想通了..使用了 aov 函数。再次感谢..支持您的回答!