r - 按条件在 R 中打印组
问题描述
说,我有数据
data=structure(list(x1 = structure(c(1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 2L, 2L, 2L), .Label = c("q",
"r", "w"), class = "factor"), x2 = structure(c(2L, 2L, 2L, 2L,
2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L
), .Label = c("e", "w"), class = "factor"), x3 = structure(c(1L,
1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 2L,
2L, 2L, 2L), .Label = c("e", "q", "r"), class = "factor"), var = c(34L,
35L, 34L, 34L, 34L, 34L, 35L, 34L, 34L, 34L, 34L, 35L, 34L, 34L,
34L, 34L, 34L, 34L, 34L, 34L), act = c(1L, 1L, 1L, 1L, 1L, 0L,
0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L)), .Names = c("x1",
"x2", "x3", "var", "act"), class = "data.frame", row.names = c(NA,
-20L))
按列x1
, x2
,x3
我们有三组
q w e
w e r
r e q
我必须只打印那些act
列只有 1 个值的组。在这种情况下,只有w e r
组按列具有 0 和 1 值,而act
另一个组按列只有 1 ,所以我需要打印它。
怎么做?q w e
r e q
act
预期产出
x1 x2 x3
q w e
r e q
解决方案
library(dplyr)
data %>% distinct(x1,x2,x3, .keep_all = TRUE) %>%
filter(act==1) %>% select(-var,-act)
x1 x2 x3
1 q w e
2 r e q
data %>% distinct(x1,x2,x3, .keep_all = TRUE) %>%
filter(act==1) %>% select(-var,-act) %>%
filter(x1=='r',x2=='e',x3=='q')
x1 x2 x3
1 r e q
#OR
data %>% filter(x1=='r',x2=='e',x3=='q')
推荐阅读
- c++ - 比较 char 和 char[i] 在hangman 游戏中不起作用
- mysql - Sequelize UUID with mySQL: Unable to set default value
- security - 与 Identity Server 4 中浏览器 cookie 中保存的令牌相关的安全问题
- r - 如何在 R 中突出显示特定的单元格值
- python - Openpyxl - 如何遍历熊猫数据框并将它们导出到一个文件中的单独工作表中?
- javascript - Google Maps JavaScript API 未显示在我的 React 应用程序中
- java - Maven 无法编译具有依赖项的项目
- django - 使用 swagger_auto_schema 时 drf_yasj 上没有参数
- c++ - Gdb 错误地在 unordered_map 中显示 2 个具有相同键的元素
- javascript - 在Javascript中使用IF比较遍历数组