我有一个Reddit用户和他们的帖子的数据集,我试图创建一个指示符变量,如果用户的帖子数量在第80百分位,则编码为1,否则编码为0,我主要感兴趣的是将用户分为"主动"用户和"被动"用户。
我已经创建了一个变量来计算用户名的帖子数量:
df <-
df %>% group_by(username) %>% mutate(count = n())
#count(username, sort = TRUE)
下面是一个数据示例:
df %>%
select(username, count) %>%
head(., 4)
输出:
username
cyz
crash
conan
xyz
<chr>
count
14
12
7
13
<int>
我尝试了以下方法来识别帖子数量在前20%的用户:
df %>%
group_by(username) %>%
do(tidy(t(quantile(.$count))))
下面是变量"count"的一个数据示例,它计算每行的帖子数。
dput(df$count)
输出:
c(15L, 9L, 1L, 1L, 1L, 1L, 1L, 1L, 15L, 15L, 15L, 1L, 15L, 1L,
1L, 15L, 1L, 1L, 15L, 2L, 15L, 1L, 15L, 1L, 15L, 2L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 15L, 191L, 3L, 191L,
191L, 1L, 191L, 191L, 2L, 191L, 191L, 1L, 191L, 1L, 191L, 191L,
191L, 3L, 191L, 98L, 191L, 1L, 191L, 2L, 191L, 9L, 1L, 191L,
1L, 1L, 3L, 191L, 191L, 191L, 2L, 3L, 1L, 1L, 2L, 2L, 191L, 191L,
191L, 191L, 17L, 1L, 3L, 4L, 3L, 22L, 2L, 3L, 3L, 191L)
1条答案
按热度按时间nfg76nw01#
您可以使用mutate来获得一个新列,其中的活动按照您的期望进行编码。
编辑:使用为计数变量提供的数据输出更新 Dataframe 。
以下是应该被贴上活性标签的: