r - R中的分组汇总表

标签 r dataframe

考虑以下数据帧:

 df <- data.frame(group = c("group1", "group1", "group2", "group2", "group2", "group3"), factor = paste("factor", 1:6, sep=""), vol = seq(from = 0.02, length.out = 6, by = 0.02))


第一列为第二列中的每个因子定义一个顶级组。第三列是每个因子的标准偏差值。

我想生成仅包含组的摘要表,并将每个组的标准差定义为:


如果group1约束因子f1和f2,而vol(f1)和vol(f2)分别是因子f1和f2的标准偏差,则group1的标准偏差为:

std(group1) = sqrt[vol(f1)^2 + vol(f2)^2]


有没有什么简单的方法可以创建摘要表,其中每个组的vol是使用此自定义函数计算的?

任何帮助,将不胜感激!谢谢。

最佳答案

我可以使用ddply函数提出一个解决方案:

# require(plyr)
ddply(df, .(group), summarize, std = sqrt(sum(vol^2)))

#    group        std
# 1 group1 0.04472136
# 2 group2 0.14142136
# 3 group3 0.12000000

关于r - R中的分组汇总表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21737850/

相关文章:

r - 嵌套 ifelse 语句的可能数量是否有限制

r - 使用 VGLM 的伪 R^2

r - 如何将阻塞函数包装到 Promise R Shiny 中

Python - 统计一个列表与多个列表完全匹配的次数

r - 有条件地复制数据框中的行

删除所有最小值和最大值,然后在 R 中求平均值

r - 自定义函数来替换 R 中的值

python - 检查一个 DataFrame 中的一行是否存在于另一个 DataFrame 中,仅基于特定的列

python - 用另一列中的相同行值替换 pandas 数据框列中的值

python - 错误, 'only list-like objects are allowed to be passed to isin(), you passed a [int]'