我想对不同主题和不同用户的数据框进行分组,以生成该主题中每个用户相对重要性的表,例如,我的数据框为
Topic User
A U1
A U2
B U2
A U1
B U1
A U1
我想将其减少到
Topic User Importance
A U1 0.75
A U2 0.25
B U1 0.5
B U2 0.5
有人可以指出我如何使用R最好是dplyr吗?
这是一种快速的data.table
替代方法
library(data.table)
setDT(df)[, as.data.table(table(User)/.N), by = Topic]
# Topic User N
# 1: A U1 0.75
# 2: A U2 0.25
# 3: B U1 0.50
# 4: B U2 0.50
这基本上只是table(User)
按组运行,然后按组大小进行划分.N
或类似地 dplyr
df %>%
group_by(Topic) %>%
do(data.frame(table(.$User)/length(.$User)))
# Source: local data frame [4 x 3]
# Groups: Topic [2]
#
# Topic Var1 Freq
# (fctr) (fctr) (dbl)
# 1 A U1 0.75
# 2 A U2 0.25
# 3 B U1 0.50
# 4 B U2 0.50
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句