【发布时间】:2021-08-25 07:44:39
【问题描述】:
我遇到了一个奇怪的错误,我找不到解决方案。我已经在这里查看了几篇关于堆栈溢出的相关帖子,但它们并没有真正解决我在这里面临的问题。
我正在尝试从逻辑向量创建分组求和。数据结构如下:
对于每个观察单位(国家),我都有一个事件列表,每周报告一次。所以,如果我有 105 周(大约 2 年),并假设一个国家经历了 3 次事件,我有一个包含 315 次观察的数据框(国家-周-事件)。
我想在(国家/地区周级别)对数据进行分组和汇总。为了保持之前的数据,我希望每个国家有 105 个观察值。 但是,如果我检查求和的结果,我注意到返回错误,并且应该返回值 1 的总和实际上返回值 2。特别是,列限制的总和应该返回 1(因为,对于每周,我我总结了两个“FALSE”陈述,只有一个“TRUE”陈述)
知道为什么会发生这种情况吗?其他总结(如下面报告的促进)工作正常
在我的数据之下
data <- structure(list(ccode = c("AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO", "AGO",
"AGO", "AGO", "AGO"), week = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L,
9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L,
22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L, 34L,
35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L, 47L,
48L, 49L, 50L, 51L, 52L, 53L, 54L, 55L, 56L, 57L, 58L, 59L, 60L,
61L, 62L, 63L, 64L, 65L, 66L, 67L, 68L, 69L, 70L, 71L, 72L, 73L,
74L, 75L, 76L, 77L, 78L, 79L, 80L, 81L, 82L, 83L, 84L, 85L, 86L,
87L, 88L, 89L, 90L, 91L, 92L, 93L, 94L, 95L, 96L, 97L, 98L, 99L,
100L, 101L, 102L, 103L, 104L, 105L, 1L, 2L, 3L, 4L, 5L, 6L, 7L,
8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L,
21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L,
34L, 35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L,
47L, 48L, 49L, 50L, 51L, 52L, 53L, 54L, 55L, 56L, 57L, 58L, 59L,
60L, 61L, 62L, 63L, 64L, 65L, 66L, 67L, 68L, 69L, 70L, 71L, 72L,
73L, 74L, 75L, 76L, 77L, 78L, 79L, 80L, 81L, 82L, 83L, 84L, 85L,
86L, 87L, 88L, 89L, 90L, 91L, 92L, 93L, 94L, 95L, 96L, 97L, 98L,
99L, 100L, 101L, 102L, 103L, 104L, 105L, 1L, 2L, 3L, 4L, 5L,
6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L,
19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L,
32L, 33L, 34L, 35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L,
45L, 46L, 47L, 48L, 49L, 50L, 51L, 52L, 53L, 54L, 55L, 56L, 57L,
58L, 59L, 60L, 61L, 62L, 63L, 64L, 65L, 66L, 67L, 68L, 69L, 70L,
71L, 72L, 73L, 74L, 75L, 76L, 77L, 78L, 79L, 80L, 81L, 82L, 83L,
84L, 85L, 86L, 87L, 88L, 89L, 90L, 91L, 92L, 93L, 94L, 95L, 96L,
97L, 98L, 99L, 100L, 101L, 102L, 103L, 104L, 105L), medical_any_lib = c(TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE), medical_any_res = c(FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE,
FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE)), row.names = c(NA,
-315L), class = c("tbl_df", "tbl", "data.frame"))
这里是我正在运行的操作
data %>%
group_by(ccode,week) %>%
summarise(
facilitations = sum(medical_any_lib, na.rm = T),
restrictions = sum(medical_any_res, na.tm = T)
)
【问题讨论】:
-
restrictions = sum(medical_any_res, na.rm = T)不是na.tm = T -
感谢@Ali。我盯着代码看(实际上比这更长),从未意识到我在一些随机的地方写了 na.tm。视力好!
-
复制这个:
data %>% group_by(ccode, week) %>% summarise(facilitations = sum(medical_any_lib, na.rm = T), restrictions = sum(medical_any_res, na.rm = T))
标签: r dplyr group-by summarize