r - 为什么我可以过滤某些值而不是其他值?(dplyr)
问题描述
我正在尝试使用 dplyr 进行过滤。我只能过滤 4 个组中的 1 个,其他 3 个输出返回空白。
我有以下数据:
structure(list(Quail = c("28", "28", "28", "28", "29", "29",
"29", "29", "30", "30", "30", "30", "4", "4", "4", "4", "4",
"5", "5", "5", "5", "5", "6", "6", "6", "6", "16", "16", "16",
"16", "17", "17", "17", "17", "17", "18", "18", "18", "18", "52",
"52", "52", "52", "53", "53", "53", "53", "54", "54", "54", "54"
), day = c(1, 3, 5, 7, 1, 3, 5, 9, 1, 3, 5, 7, 1, 3, 5, 7, 9,
1, 3, 5, 7, 9, 1, 3, 5, 7, 1, 3, 5, 7, 1, 3, 5, 7, 9, 1, 3, 5,
7, 1, 3, 5, 7, 1, 3, 5, 7, 1, 3, 5, 7), Group = c(" var", " var",
" var", " var", " var", " var", " var", " var", " var", " var",
" var", " var", "varL", "varL", "varL", "varL", "varL", "varL",
"varL", "varL", "varL", "varL", "varL", "varL", "varL", "varL",
" varLQ", " varLQ", " varLQ", " varLQ", " varLQ", " varLQ", " varLQ",
" varLQ", " varLQ", " varLQ", " varLQ", " varLQ", " varLQ", " varQ",
" varQ", " varQ", " varQ", " varQ", " varQ", " varQ", " varQ",
" varQ", " varQ", " varQ", " varQ")), row.names = c(NA, -51L), groups = structure(list(
Quail = c("16", "16", "16", "16", "17", "17", "17", "17",
"17", "18", "18", "18", "18", "28", "28", "28", "28", "29",
"29", "29", "29", "30", "30", "30", "30", "4", "4", "4",
"4", "4", "5", "5", "5", "5", "5", "52", "52", "52", "52",
"53", "53", "53", "53", "54", "54", "54", "54", "6", "6",
"6", "6"), day = c(1, 3, 5, 7, 1, 3, 5, 7, 9, 1, 3, 5, 7,
1, 3, 5, 7, 1, 3, 5, 9, 1, 3, 5, 7, 1, 3, 5, 7, 9, 1, 3,
5, 7, 9, 1, 3, 5, 7, 1, 3, 5, 7, 1, 3, 5, 7, 1, 3, 5, 7),
Group = c(" varLQ", " varLQ", " varLQ", " varLQ", " varLQ",
" varLQ", " varLQ", " varLQ", " varLQ", " varLQ", " varLQ",
" varLQ", " varLQ", " var", " var", " var", " var", " var",
" var", " var", " var", " var", " var", " var", " var", "varL",
"varL", "varL", "varL", "varL", "varL", "varL", "varL", "varL",
"varL", " varQ", " varQ", " varQ", " varQ", " varQ", " varQ",
" varQ", " varQ", " varQ", " varQ", " varQ", " varQ", "varL",
"varL", "varL", "varL"), .rows = list(27L, 28L, 29L, 30L,
31L, 32L, 33L, 34L, 35L, 36L, 37L, 38L, 39L, 1L, 2L,
3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L,
15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 40L, 41L, 42L,
43L, 44L, 45L, 46L, 47L, 48L, 49L, 50L, 51L, 23L, 24L,
25L, 26L)), row.names = c(NA, -51L), class = c("tbl_df",
"tbl", "data.frame"), .drop = TRUE), class = c("grouped_df",
"tbl_df", "tbl", "data.frame"))
我想按组过滤。如果我像这样:
DI.pi.equi.extended %>%
filter(Group == "varL")
效果很好,但如果我想过滤任何其他组(var、varLQ 或 varQ),我会得到以下信息:
# A tibble: 0 x 10
# Groups: Quail, day, Group [0]
# … with 10 variables: Quail <chr>, day <dbl>, Group <chr>,
# Sample <chr>, n <int>, pi <dbl>, piN <dbl>, piS <dbl>,
# Equi <dbl>, Norm.pi <dbl>
数据在那里,我只是无法弄清楚出了什么问题。
提前谢谢了。
解决方案
推荐阅读
- dataframe - 嵌套的json扁平化火花数据框
- html - 将列用作表中的行
- python - python中datetime模块的isoformat函数返回不正确的偏移量
- javascript - THREE.js 不渲染图像
- r - 带有每个国家/地区值的交互式欧洲地图
- python - Pandas 将 df1 中的一列与 df2 中的多列进行比较
- javascript - 通过方法返回的值不会将文本更改为适当的颜色
- sql - 创建 SQL 表时遇到问题?
- python - 两个数据框之间的 Vlookup 与公共列的重复值
- python - 在 Micro Focus RPA 中使用 python 移动消息的 API PATCH 请求