gpt4 book ai didi

r - 计算数据框中值的唯一组合和汇总值

转载 作者:行者123 更新时间:2023-12-02 07:49:11 26 4
gpt4 key购买 nike

我想在我的数据框中使用 var1var2 的独特组合:

foo <- data.frame(var1 = c(1,1,2,2,2,2,3,3,3,3,3,4,4,4,4),
var2 = c(1,1,1,1,2,2,1,1,2,2,2,2,2,3,3))

如前所述,unique(foo) 结果如下:

      var1  var2
1 1 1
2 2 1
3 2 2
4 3 1
5 3 2
6 4 2
7 4 3

根据独特的组合,我如何得到:

  • nvar1 值和
  • 出现的次数
  • svar,每个 var1 值的 var2 值的总和。

输出可能是这样的:

      var1  n    svar
1 1 1 1
2 2 2 3
3 3 2 3
4 4 2 5

最佳答案

unique(foo) 应该给你你想要的东西。

2014 年更新:使用 dplyr 而不是 plyr

我建议查看库 plyr 以了解其他聚合类型任务,或 tapply()aggregate() 的基本 R 等价物等

虽然对于本练习来说是多余的,但以下是您将如何使用 plyr:

library(plyr)
ddply(foo, .(var1), unique)

请注意,您可以将 unique 替换为任意数量的函数,例如查找 var2 的均值和标准差,如下所示:

ddply(foo, .(var1), summarise, mean = mean(var2), sd = sd(var2))

对编辑的回应

现在您可以更合法地使用 plyr()。采取我们从上面学到的东西:

x <- unique(foo)

结合plyr:

ddply(x, .(var1), summarise, n = length(var2), sum = sum(var2))

应该给你你想要的。

关于r - 计算数据框中值的唯一组合和汇总值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4697106/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com