gpt4 book ai didi

r - 在组内总结 dplyr

转载 作者:行者123 更新时间:2023-12-01 10:19:43 24 4
gpt4 key购买 nike

我有如下数据集:

BRAND  MEDIUM      W1   W2   W3   W4   W5

B1 tv 1 0 1 0 2
B2 tv 0 0 0 0 0
B1 radio 0 1 2 5 3
B1 tv 0 0 0 0 0
B2 radio 0 4 1 1 1
B1 newspapers 7 4 2 1 0

我想做的是按 BRAND 分组并对每一列的值求和以形成由求和值组成的唯一行。此外,我还想展示每个子组中有哪些 MEDIUM。

最终输出应该是这样的:

          W1    W2   W3   W4   W5  tv radio newspaper 

B1 8 9 5 6 5 1 1 1
B2 0 4 1 1 1 1 1 0

我很难找到解决这个问题的方法,尤其是第二部分,将哪种媒体放在组中。有什么建议或提示吗?谢谢

最佳答案

Mybe 来晚了,但你也可以尝试在没有任何外部包的情况下管理它,分两步:

首先通过BRAND聚合W...:

# aggregate by brand, and not using the MEDIUM column:
one <- aggregate(. ~ BRAND, data = dats[,-2], sum)

然后是媒体:

# frequencies
# EDIT HERE
# two <- as.data.frame.matrix(table(dats$BRAND,dats$MEDIUM))
# replace with ones
# two[(two)>1] <- 1

# thanks to Ronak Shah
two <- data.frame(BRAND = unique(dats$BRAND), +(table(dats$BRAND, dats$MEDIUM) > 0))

最后你可以合并两个数据集:

merge(one, two)
BRAND W1 W2 W3 W4 W5 newspapers radio tv
1 B1 8 5 5 6 5 1 1 1
2 B2 0 4 1 1 1 0 1 1

关于r - 在组内总结 dplyr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54480902/

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