count() 中的 wt 是什么意思(R 语言)?

时间:2021-01-05 13:05:25

标签: r dplyr count

我在谷歌上来回搜索,但我似乎无法找到一个很好的解释,对于非英语母语者来说,这是什么意思?请给我一个带和不带重量的具体例子。 谢谢

2 个答案:

答案 0 :(得分:1)

将其视为“按总和分组”,请参见示例:

mtcars %>% 
  count(cyl, wt = mpg)
#   cyl     n
# 1   4 293.3
# 2   6 138.2
# 3   8 211.4

mtcars %>% 
  group_by(cyl) %>% 
  summarise(n = sum(mpg))
# # A tibble: 3 x 2
#     cyl     n
#   <dbl> <dbl>
# 1     4  293.
# 2     6  138.
# 3     8  211.
<块引用>

计数{dplyr}
wt 执行加权计数,将摘要从 n = n() 切换到 n = sum(wt)

答案 1 :(得分:1)

wt 代表 "weights"
help('count') 中使用对象 df 的第一个示例在我看来非常清楚。

首先,创建对象。

library(dplyr)

df <- tribble(
  ~name,    ~gender,   ~runs,
  "Max",    "male",       10,
  "Sandra", "female",      1,
  "Susan",  "female",      4
)

1. 现在,一个没有 wt 的例子。
从上面的数据集可以看出,有

  1. 2 行,带有 gender == "female";
  2. 1 行包含 gebder == "male"

非加权计数将返回这些计数。

# counts rows:
df %>% count(gender)
## A tibble: 2 x 2
#  gender     n
#  <chr>  <int>
#1 female     2
#2 male       1

2. 现在是一个带有权重、参数 wt 的示例。

假设原始数据中有10行男性和5行女性。所有雄性行均来自同一个体 "Max"。以及来自两个个体的女性性别行,一行仅用于 "Sandra",4 行用于 "Susan"

然后用户通过name聚合原始的、未处理的数据,结果是发布的数据。要获取原始帐户的计数,请使用加权计数。
这就是 wt 示例上方的注释所说的内容。

# use the `wt` argument to perform a weighted count. This is useful
# when the data has already been aggregated once
# counts runs:
df %>% count(gender, wt = runs)
## A tibble: 2 x 2
#  gender     n
#  <chr>  <dbl>
#1 female     5
#2 male      10