首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在%r中拆分文件ANOVA,结果为

在%r中拆分文件ANOVA,结果为
EN

Stack Overflow用户
提问于 2018-07-18 00:51:30
回答 1查看 244关注 0票数 0

我是R的新手,正在尝试运行带有分割文件选项的单向方差分析(类似于SPSS)。数据集文件名为rdatasetnew。感兴趣的三个变量是:

orderNo:person标识符

rating:每个订单的满意度评分

design:使用的网站设计

拆分文件由orderNo完成,如下面的数据集中所示。我使用这个问答来开发我的拆分文件语法(Perform an ANOVA for each individual level of a factor in R)

我开发的语法如下所示:

代码语言:javascript
运行
复制
lapply(split(rdatasetnew, rdatasetnew$orderNo), aov, 
           formula = rating ~ design)

上面的脚本提供了每个人的平方和、自由度和残差标准差。但是,我希望获得一个汇总表和每个人的平均数据。我如何做到这一点呢?

代码语言:javascript
运行
复制
orderNo rating  design
1123    1   Traditional Modern
1123    8   Traditional Modern
1123    1   Modern
1123    9   Modern
1123    8   Modern
1124    1   Modern
1124    10  Traditional Modern
1124    3   Traditional Modern
1124    10  Traditional
1124    8   Modern Extreme
1124    10  Traditional Modern
1168    6   Traditional Modern
1168    2   Traditional Modern
1168    10  Traditional Modern
1168    5   Modern
1168    8   Traditional Modern
1168    7   Traditional Modern
1168    2   Traditional Modern
EN

回答 1

Stack Overflow用户

发布于 2018-07-18 02:09:21

dplyr包在这里是一个很好的选择。

代码语言:javascript
运行
复制
library(dplyr)
df1<- df %>%
group_by(orderNo) %>%
summarize(mean_rating = mean(rating), count = n())

输出采用每个订单号的平均评级和总计数。您还可以通过用design替换orderNo来快速创建一个按设计分组的表。

如果您想为每个订单/设计组合提供方法和计数,可以通过向group_by语句添加多个变量来实现,如下所示

代码语言:javascript
运行
复制
df1<- df %>%
group_by(orderNo, design) %>%
summarize(mean_rating = mean(rating), count = n())

这将产生类似如下的输出:

代码语言:javascript
运行
复制
orderNo design            mean_rating    count
1123    Modern             6.00           3
1123    Traditional Modern 4.50           2
1124    Modern             1.00           1
1124    Modern Extreme     8.00           1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51386637

复制
相关文章

相似问题

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