首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何循环多路anova

如何循环多路anova
EN

Stack Overflow用户
提问于 2015-12-11 01:46:02
回答 1查看 135关注 0票数 0

这是我使用R的头几周,我一直在为一个问题而头疼。我希望你们能帮帮我!

我正在做多向方差分析(Eicosane~SEX+STATUS,data=data_wide)。现在我有大约26个不同的因变量,它们是在铃木果蝇身上发现的化合物(在这个例子中是二十烷),我想看看发现的化合物是否可以与性别或地位有关。有没有一种方法可以使用某种循环,这样我就不需要每次都手动更改因变量,并可以在一个文件中获得输出?

代码语言:javascript
复制
Someone recommended; {For (i in 1:26)}
(aov(i ~SEX+STATUS,data=data_wide)}
Result}

但它给出了错误:意外的'in‘。R是否自动将我的数据集中的列编号为1、2、3等。?

我希望这个新手问题能说清楚,我很抱歉,但我自己似乎就是想不通。

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2015-12-11 02:17:42

例如:

代码语言:javascript
复制
data(prostate, package= "faraway")
for (i in 1:ncol(prostate)) {
  print(summary(aov(prostate[,i] ~., data= prostate)))
}

在本例中,我使用所有列,而不是aov调用中剩余的1列。如果您希望从因变量集中排除SEXSTATUS,则必须修改for循环中的调用,例如:

代码语言:javascript
复制
cols <- (1:ncol(data_wide))[-c(which(names(data_wide) %in% c("SEX", "STATUS")))]
for (i in cols) {...}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34208460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档