首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用CSV对R中的具体变量进行方差分析?

如何使用CSV对R中的具体变量进行方差分析?
EN

Stack Overflow用户
提问于 2014-10-21 22:33:36
回答 2查看 539关注 0票数 0

我是新的R和目前我工作的参与者数据,我想运行的每一个类别的方差分析。

我使用以下代码从CSV读取我的数据:

代码语言:javascript
运行
复制
CSV <- read.csv("data.csv", header=TRUE)

矢量CSV现在有很多。12个变量中。最后一个变量描述组,其中前11个变量是每个类别。我希望通过根据第12个变量的值将数据分成组来运行ANOVA,并对每个变量2-11运行一个ANOVA。

如何根据第12个变量将数据分成N个组,并对每个变量2-11进行方差分析?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-22 20:55:25

在文件中阅读:

代码语言:javascript
运行
复制
CSV <- read.csv("data.csv", header=TRUE)

将索引设置为12、上界和下界,以便在类别中进行迭代:

代码语言:javascript
运行
复制
lenCSV <- 12
upper <- 11
lower <- 2

遍历类别并输出摘要:

代码语言:javascript
运行
复制
for( j in lower:upper) {
  fm <- as.formula(paste(names(CSV[j])," ~", names(lenCSV)))

  fit<-aov(fm,data=CSV)
  print(fit)
}
票数 0
EN

Stack Overflow用户

发布于 2014-10-21 23:48:53

我有点搞不懂你说的每个变量的方差是什么意思。下面是一个循环,它遍历第12个变量的每个值,对数据进行细分,然后运行ANOVA。您需要更改"y ~ x“部分,因为我不知道您的因变量/自变量是什么。如果您想对每个变量运行ANOVA,您可能需要另一个循环,我在下面尝试过。

代码语言:javascript
运行
复制
for(i in unique(CSV[,12])) {
    data<-subset(CSV, subset=CSV[,12]==i)
    fit <- aov(y ~ x, data=data)
    fit
}

对于每个变量

代码语言:javascript
运行
复制
`%ni%`<-Negate(`%in%`) ##setting up 'not in'

for(i in unique(CSV[,12])) {
    data<-subset(CSV, subset=CSV[,12]==i)

    for( j in 1:11) {
       fm <- as.formula(paste(names(data[,j])," ~", paste(names(data)[names(data) %ni%  names(data[,j])], collapse = "+")))

       fit<-aov(fm,data=data)
       fit #you may want to output the results rather than printing them here
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26497517

复制
相关文章

相似问题

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