使用dplyr汇总数据

时间:2019-03-25 17:15:50

标签: r dplyr tidyr

我正在尝试汇总我的数据,但出现错误:

know_member2 <- cmaother %>%
  group_by(Know_member,fishers) %>%
  summarize(Gender= length(Gender)) %>%
  spread(Know_member,fishers) %>% 
  replace(., is.na(.), "0") %>%
  print(n = Inf)
Error: Duplicate identifiers for rows (2, 4)

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

在这里,问题是在spread中使用了另一列而不是count列。另外,可以利用length中的n()自变量将replace更改为fill,并将最后一步或缺失值spread更改为0。 / p>

library(dplyr)
library(tidyr)
cmaother %>%
    group_by(Know_member, fishers) %>% 
    summarise(Gender = n()) %>%  
    spread(Know_member, Gender, fill = 0)

可以使用count

将其修改为紧凑选项。
cmaother %>%
   count(Know_member,fishers) %>% 
   spread(Know_member, n, fill = 0)