我使用具有独特营销来源的数据集创建了数据框。假设我在这个新数据框D1中有20个独特的营销来源。我想添加另一个列,其中包含此营销来源在原始数据框中的次数。我正在尝试使用dplyr包,但不确定如何引用多个数据帧。
原始数据有16000个观测值 新数据框有20个观察结果,因为只有20个独特的营销来源。 如何在dplyr中使用汇总来引用两个数据帧? 我的目标是找到营销来源的百分比。
我的原始数据框有两列:NAME,MARKETING_SOURCE 该数据框有16,000个观察点和20个不同的营销来源(电子邮件,活动,销售电话等) 我创建了一个只有唯一的MARKETING_SOURCES的新数据框,并将其称为数据框D1 在我的新数据框中,我想添加另一列,其中包含每个营销来源在原始数据框中出现的次数。 我的新数据框应该有两列:MARKETING_SOURCE,COUNT
答案 0 :(得分:0)
我不知道你是否需要使用dplyr
这样的东西......
首先让我们创建一些data.frames:
df1 <- data.frame(source = letters[sample(1:26, 400, replace = T)])
df2 <- data.frame(source = letters, count = NA)
然后我们可以使用table()
来获取频率:
counts <- table(df1$source)
df2$count <- counts
head(df2)
source count
1 a 10
2 b 22
3 c 12
4 d 17
5 e 18
6 f 18
<强>更新强>
为了回应下面@ MrFlick的明智评论,您可以使用names()
输出的table()
来确保订单得到保留:
df2$source <- names(counts)
如果df2
有其他列,那肯定不那么优雅,甚至不那么优雅。但对于上面提到的简单案例就足够了。