我已经反复谷歌搜索了,但似乎找不到一个对非英语为母语的人来说解释清楚它是什么意思。请给我一个具体的例子,带有和不带有wt的。
wt
代表"weights"。
help('count')
中使用对象df
的第一个示例,在我看来非常清晰。
首先,创建该对象。
library(dplyr)
df <- tribble(
~name, ~gender, ~runs,
"Max", "male", 10,
"Sandra", "female", 1,
"Susan", "female", 4
)
1. 现在,一个没有wt
的示例。
从上面的数据集中可以看出,有:
gender == "female"
;gender == "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
把它看作是“按组汇总求和”,例如:
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)
dplyr
的函数或问题吗?如果是,请在问题中说明并加上dplyr
标签。 - Rui Barradas