每种类型的R计数值

时间:2016-09-15 06:14:05

标签: r count

我的问题与2013年R: Count unique values by category

的问题有关

使用 R 中的以下数据:

    set.seed(1)
mydf <- data.frame(
  Cnty = rep(c("185", "31", "189"), times = c(5, 3, 2)),
  Yr = c(rep(c("1999", "2000"), times = c(3, 2)), 
         "1999", "1999", "2000", "2000", "2000"),
  Plt = "20001",
  Spp = sample(c("Bitternut", "Pignut", "WO"), 10, replace = TRUE),
  DBH = runif(10, 0, 15)
)

mydf
#    Cnty   Yr   Plt       Spp       DBH
# 1   185 1999 20001 Bitternut  3.089619
# 2   185 1999 20001    Pignut  2.648351
# 3   185 1999 20001    Pignut 10.305343
# 4   185 2000 20001        WO  5.761556
# 5   185 2000 20001 Bitternut 11.547621
# 6    31 1999 20001        WO  7.465489
# 7    31 1999 20001        WO 10.764278
# 8    31 2000 20001    Pignut 14.878591
# 9   189 2000 20001    Pignut  5.700528
# 10  189 2000 20001 Bitternut 11.661678

我希望能做什么以及前任提问者或回答者所做的事情是:

计算每个物种存在多少个县,这非常简单地用表函数

完成

然而,在我的数据中有超过一百万行五种不同的物种,我不知道有多少县(无论如何都是非常大的数量)

我怎样才能得到一张能够给出答案的表格:

Species count_of_Counties
bitternut 2
pignut 3
WO 2

而不是以下答案:

        Cnty
# Spp         185 189 31
#   Bitternut   2   1  0
#   Pignut      2   1  1
#   WO          1   0  2

如果我尝试这个解决方案,我将有超过400,000列

1 个答案:

答案 0 :(得分:0)

这个怎么样?

library(dplyr)
mydf %>% 
    group_by(Spp) %>% 
    summarize(n=n())

 Spp count_of_Counties
1 Bitternut                 3
2    Pignut                 4
3        WO                 3

mydf %>% 
   group_by(Spp, Cnty) %>% 
   summarize(n=n()) %>% 
   group_by(Spp) %>% 
   summarize(count_of_Counties=n())


 Spp count_of_Counties
1 Bitternut                 2
2    Pignut                 3
3        WO                 2