我是R的新手,正在尝试使用带拆分文件选项的单向方差分析(类似于SPSS)。数据集文件称为rdatasetnew
。感兴趣的三个变量是:
orderNo
:人物标识符
rating
:每个订单的满意度等级
design
:使用网站设计
拆分文件由orderNo
完成,如下数据集中所示。我已使用此问题解答来开发我的拆分文件语法(Perform an ANOVA for each individual level of a factor in R)
我开发的语法如下:
lapply(split(rdatasetnew, rdatasetnew$orderNo), aov,
formula = rating ~ design)
上面的脚本为每个人提供平方和,自由度和残余标准误差。但是,我想获得一个汇总表和每个人的平均数据。我该怎么办?
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
答案 0 :(得分:0)
dplyr软件包是一个很好的选择。
library(dplyr)
df1<- df %>%
group_by(orderNo) %>%
summarize(mean_rating = mean(rating), count = n())
输出采用每个订单号的平均等级以及总计数。您还可以通过将orderNo
替换为design
来快速设计表格进行分组。
如果您想为每种订单/设计组合提供均值和计数,可以通过在group_by
语句中添加多个变量来实现,如下所示
df1<- df %>%
group_by(orderNo, design) %>%
summarize(mean_rating = mean(rating), count = n())
这给出了类似的输出:
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