gpt4 book ai didi

r - R 中按 GroupID 分组的值出现次数

转载 作者:行者123 更新时间:2023-12-01 12:46:35 26 4
gpt4 key购买 nike

我有一个数据集,它有多个列,每列有多个值。我想要的是将每列中的每个值的计数按 groupID 分组

示例

 GroupId | C1            |    C2
1 | "valColOne1" | "valColTwo2"
2 | "valColOne1" | "valColTwo2"
2 | "valColOne1" | "valColTwo2"
2 | "valColOne2" | "valColTwo1"
1 | "valColOne1" | "valColTwo1"

结果应该是

    GroupId | valColOne1 | valColOne2 | valColTwo1 | valColTwo2
1 | 2 | 0 | 1 | 1
2 | 2 | 1 | 1 | 2

提到初始表中的所有值都是字符串。

最佳答案

获取您的原始数据框(我称之为dat)并将其融化成长格式。然后使用dcast统计每个值出现的次数。

library(reshape2)

dat.m = melt(dat, id.var="GroupId")

dcast(dat.m, GroupId ~ value)

GroupId valColOne1 valColOne2 valColTwo1 valColTwo2
1 1 2 0 1 1
2 2 2 1 1 2

如果您运行每个函数并查看中间结果,则最容易了解每个函数的作用。有关一些示例,请参阅 herehere .

关于r - R 中按 GroupID 分组的值出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29349690/

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