我的问题与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列
答案 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