【问题标题】:Average number of posts written by user in R用户在 R 中写的平均帖子数
【发布时间】:2020-06-11 10:28:29
【问题描述】:

我有一个带有文本和 user_type 的数据框。我想获取 user_type 的平均帖子数。

数据:

df$post
[1] "hi my name is"
[2] "hey how are you"
[3] "whats up"

df$user_type

[1] big_user
[2] big_user
[3] small_user

【问题讨论】:

  • 什么是“平均文本数”?文本的平均长度?
  • 文本的数量,所以这里比如big_user写了2篇,small_user只写了一篇。我编辑了问题

标签: r text average tapply


【解决方案1】:

使用dplyr:

# counting the posts per user
df %>%
  count(user_type)
#    user_type n
# 1   big_user 2
# 2 small_user 1

# calculating the average length of posts per user
df %>% 
  group_by(user_type) %>%
  summarise(average = sum(str_count(text))/n(), .groups="drop")
#   A tibble: 2 x 2
#   user_type  average
#   <chr>        <dbl>
# 1 big_user        14
# 2 small_user       8

使用base R:

table(df$user_type)
#   big_user small_user 
#          2          1 

【讨论】:

  • 这是否给出平均值?
  • “平均”到底是什么意思? “平均”是什么?
  • 每种用户类型的平均帖子数
  • 平均值在这里没有意义,因为你总是得到平均值 =(术语总和)/(术语数),在你的情况下是相同的,所以平均值总是一个
  • 正如@DominikS.Meier 指出的那样,您的请求有问题。我们可以计算每天的平均帖子数,在这种情况下,我们需要有关发布日期的更多信息。我们可以计算每个用户的平均帖子长度。但是“每个用户的平均帖子数”没有任何意义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多