【发布时间】:2020-12-16 13:00:44
【问题描述】:
我正在尝试summarise 具有平均值和案例数量的数据,而不计算丢失的数据。 n()可以做到吗? N 的预期结果应该是3, 2。
library(tidyverse)
df <- tibble(g = c(1, 1, 1, 2, 2, 2), x = c(1, 2, 3, 4, NA, 5))
df %>%
group_by(g) %>%
summarise(M = mean(x, na.rm = TRUE),
N = n()) %>%
ungroup()
#> `summarise()` ungrouping output (override with `.groups` argument)
#> # A tibble: 2 x 3
#> g M N
#> <dbl> <dbl> <int>
#> 1 1 2 3
#> 2 2 4.5 3
Created on 2020-12-16 by the reprex package (v0.3.0)
【问题讨论】:
-
不,
n()不可能,因为它给出了当前组大小,而不管其他变量是否有缺失值。您可以将非 NA 案例的数量相加。 -
我尝试了这些但没有成功:
count = sum(!is.na(.)), sum = sum(.,na.rm=TRUE))