我在谷歌上来回搜索,但我似乎无法找到一个很好的解释,对于非英语母语者来说,这是什么意思?请给我一个带和不带重量的具体例子。 谢谢
答案 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
的例子。
从上面的数据集可以看出,有
gender == "female"
;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