簡體   English   中英

使用 dplyr 計數

[英]Count using dplyr

使用此數據框:

df = data.frame(mes = c(1,1,2,2,3,3), 
                ano = c(1981, 1982,1983), 
                x1 = c(95,8,10,NA,NA,98), 
                x2 = c(NA, NA, 89, 48, NA, 10))
> df
  mes  ano x1 x2
1   1 1981 95 NA
2   1 1982  8 NA
3   2 1983 10 89
4   2 1981 NA 48
5   3 1982 NA NA
6   3 1983 98 10

我想得到這個:

  mes x1_n x2_n
1   1    2    0
2   2    1    2
3   3    1    1

我的意思是,對於每個mes唯一值,我想知道有多少非NA值。 我試圖使用dplyr::count()但我得到了這個:

> count(df,mes)
# A tibble: 3 × 2
    mes     n
  <dbl> <int>
1     1     2
2     2     2
3     3     2

有什么想法嗎? 謝謝。

count給你觀察的數量。 如果您對非 NA 的觀察數量感興趣,您可以執行以下操作:

 df %>%
   group_by(mes) %>%
   summarize(x1_n = sum(!is.na(x1)),
             x2_n = sum(!is.na(x2)))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM