在 R 中,我如何从如下所示的数据集中计算总体方差和每个组的方差(例如):
Group Count Value
A 3 5
A 2 8
B 1 11
B 3 15
我知道要计算整体方差,忽略我会做的组:var(rep(x$Value, x$Count)),
但如何自动计算每个组的频率方差?例如,A 组、B 组等的方差......我希望我的输出具有以下标题:
Group, Total Count, Group Variance
我还查看了此链接;R计算具有频率分布的文件的均值、中值、方差这是不同的(没有组组件),所以这不是重复的。
感谢您的所有帮助。
一种选择是使用data.table
。将 data.frame 转换为 data.table (setDT
)并得到var
“价值”和sum
按“组”计算“计数”。
library(data.table)
setDT(df1)[, list(GroupVariance=var(rep(Value, Count)),
TotalCount=sum(Count)) , by = Group]
# Group GroupVariance TotalCount
#1: A 2.7 5
#2: B 4.0 4
类似的方式使用dplyr
is
library(dplyr)
group_by(df1, Group) %>%
summarise(GroupVariance=var(rep(Value,Count)), TotalCount=sum(Count))
# Group GroupVariance TotalCount
#1 A 2.7 5
#2 B 4.0 4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)