【发布时间】:2020-09-16 22:56:11
【问题描述】:
数据
df <- structure(list(error_code = c("2892141", "2892141", "2892141",
"2892141", "2892141", "2892141", "2892141", "2892141", "2892141",
"2892141", "2892141", "2892141", "2892141", "2892141", "2892141",
"2892141", "2907630", "2907630", "2907630", "2907630", "2907630",
"2907630", "2907630", "2907630", "2907630", "2907630", "2907630",
"2907630", "2907630", "2907630", "2907630", "2907630", "2907631",
"2907631", "2907631", "2907631", "2907631", "2907631", "2907631",
"2907631", "2907631", "2907631", "2907631", "2907631", "2907631",
"2907631", "2907631", "2907631", "2907632", "2907632", "2907632",
"2907632", "2907632", "2907632", "2907632", "2907632", "2907632",
"2907632", "2907632", "2907632", "2907632", "2907632", "2907632",
"2907632", "2907633", "2907633", "2907633", "2907633", "2907633",
"2907633", "2907633", "2907633", "2907633", "2907633", "2907633",
"2907633", "2907633", "2907633", "2907633", "2907633", "2907634",
"2907634", "2907634", "2907634", "2907634", "2907634", "2907634",
"2907634", "2907634", "2907634", "2907634", "2907634", "2907634",
"2907634", "2907634", "2907634", "2907635", "2907635", "2907635",
"2907635", "2907635", "2907635", "2907635", "2907635", "2907635",
"2907635", "2907635", "2907635", "2907635", "2907635", "2907635",
"2907635", "2907636", "2907636", "2907636", "2907636", "2907636",
"2907636", "2907636", "2907636", "2907636", "2907636", "2907636",
"2907636", "2907636", "2907636", "2907636", "2907636", "2907637",
"2907637", "2907637", "2907637", "2907637", "2907637", "2907637",
"2907637", "2907637", "2907637", "2907637", "2907637", "2907637",
"2907637", "2907637", "2907637", "2907638", "2907638", "2907638",
"2907638", "2907638", "2907638", "2907638", "2907638", "2907638",
"2907638", "2907638", "2907638", "2907638", "2907638", "2907638",
"2907638", "2907639", "2907639", "2907639", "2907639", "2907639",
"2907639", "2907639", "2907639", "2907639", "2907639", "2907639",
"2907639", "2907639", "2907639", "2907639", "2907639", "2907640",
"2907640", "2907640", "2907640", "2907640", "2907640", "2907640",
"2907640", "2907640", "2907640", "2907640", "2907640", "2907640",
"2907640", "2907640", "2907640", "2907641", "2907641", "2907641",
"2907641", "2907641", "2907641", "2907641", "2907641", "2907641",
"2907641", "2907641", "2907641", "2907641", "2907641", "2907641",
"2907641", "2907642", "2907642", "2907642", "2907642", "2907642",
"2907642", "2907642", "2907642", "2907642", "2907642", "2907642",
"2907642", "2907642", "2907642", "2907642", "2907642", "2907644",
"2907644", "2907644", "2907644", "2907644", "2907644", "2907644",
"2907644", "2907644", "2907644", "2907644", "2907644", "2907644",
"2907644", "2907644", "2907644", "2907645", "2907645", "2907645",
"2907645", "2907645", "2907645", "2907645", "2907645", "2907645",
"2907645", "2907645", "2907645", "2907645", "2907645", "2907645",
"2907645"), value = c(" ", NA, NA, NA, "2", NA, NA, NA, NA, "1",
"1", "2", "2", NA, "2", "2", NA, NA, " ", NA, NA, NA, NA, "1",
NA, "2", "2", "2", NA, NA, NA, NA, "2", NA, " ", NA, NA, NA,
"1", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "2", " ", NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "2", NA, NA, NA,
NA, NA, NA, NA, "1", "2", NA, NA, " ", NA, NA, NA, "2", NA, NA,
NA, "2", NA, "1", NA, "2", NA, NA, NA, "2", NA, " ", NA, "2",
" ", NA, NA, NA, "2", NA, NA, NA, "2", NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA, "2", NA, "1", "1", "2", NA, NA, " ",
"2", "2", " ", "2", "2", NA, "1", "2", "2", NA, "1", NA, NA,
"1", "2", NA, NA, "1", NA, NA, "1", "1", NA, "1", "2", NA, "1",
"2", NA, "2", "2", " ", "1", "2", " ", NA, NA, NA, NA, NA, NA,
NA, "2", NA, NA, "2", NA, NA, NA, "2", NA, NA, "2", NA, NA, "1",
"1", NA, NA, "2", NA, NA, NA, " ", "2", "2", NA, NA, "2", "2",
NA, NA, NA, "2", NA, NA, NA, NA, NA, NA, " ", " ", NA, NA, "2",
"2", NA, NA, NA, NA, "2", NA, NA, NA, NA, NA, NA, "1", NA, "2",
NA, "1", NA, "1", "2", "1", "2", NA, NA, NA, NA, NA, " ", NA,
NA, "2", NA, NA, NA, "1", NA, "1", NA, "1", " ", NA, NA, "1",
"1")), row.names = c(NA, -256L), class = "data.frame")
我想对每个 error_codes 进行分组并计算其中有多少具有非 na 值。这只是列名称为value 的数据的一部分,但还有其他列名称具有相似值但称为其他名称。
所以,我将列名存储在需要的变量中。
categoryColumn <- getCategoryColumnName(categoryId)
在这种情况下,categoryColumn 将是 value。然后,对所有非 na 行进行分组和提取,这就是我所做的
df%>% group_by(error_code) %>% select(categoryColumn) %>% summarise(ties = sum(is.na(.)))
上面的代码给了我这个:
error_code value
1 2892141 162
2 2907630 162
3 2907631 162
4 2907632 162
5 2907633 162
6 2907634 162
7 2907635 162
8 2907636 162
9 2907637 162
10 2907638 162
11 2907639 162
12 2907640 162
13 2907641 162
14 2907642 162
15 2907644 162
16 2907645 162
这不准确。如何获得与非 na 值相关的值?
【问题讨论】: