What does wt in count() mean (R language)?

I have googled back and forth, but I can't seem to find a good explanation, to non native English speaker, of what does it mean? Please give me a concrete example with and without wt. Thank you

2

2 Answers

Think of it as "group by sum", see example:

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.

count {dplyr}
wt to perform weighted counts, switching the summary from n = n() to n = sum(wt)

wt stands for "weights".
The first example in help('count') that uses object df, is, in my opinion, very clear.

First, create the object.

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

1. Now, an example without wt.
As you can see from the data set above, there are

  1. 2 rows with gender == "female";
  2. 1 row with gender == "male".

And a non-weighted count will return those counts.

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

2. Now an example with weights, argument wt.

Suppose that in the original data there were 10 rows with males and 5 rows with females. All male rows were obtained from the same individual, "Max". And the female gender rows from two individuals, one row only for "Sandra" and 4 rows for "Susan".

Then the user aggregated the original, unprocessed data by name and the result was the data as posted. To get counts that account for the original, use a weighted count.
This is what the comment above the wt example says.

# 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

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like