删除具有 N 个变量中的任何一个的所有行
Delete All Rows With Any of N Variables
Delete rows where any column contains number
查找任何列中包含一个(或多个)值的行
扩展上面 post 的问题。
假设我有一个名为 m5 的数据集:
set.seed(1234)
m3 <- matrix(12:1,nrow=6,ncol=4)
m4<-as.data.frame(m3)
m5 <- m4[sample(nrow(m4)),]
如何 select 只显示任何列包含值 12、9 或 7 的行。
最终输出应该是第 1、2 和 6 行。
如果建议的答案也适用于字符串,也会有所帮助。
可以试试:
m5[apply(m5, 1, function(x) any(x %in% c(12, 9, 7))), ]
给予:
V1 V2 V3 V4
4 9 3 9 3
1 12 6 12 6
6 7 1 7 1
也有 dplyr
的可能性,但这可能有点矫枉过正:
dplyr::filter_all(m5, any_vars(. %in% c(12, 9, 7)))
Delete rows where any column contains number
查找任何列中包含一个(或多个)值的行
扩展上面 post 的问题。
假设我有一个名为 m5 的数据集:
set.seed(1234)
m3 <- matrix(12:1,nrow=6,ncol=4)
m4<-as.data.frame(m3)
m5 <- m4[sample(nrow(m4)),]
如何 select 只显示任何列包含值 12、9 或 7 的行。
最终输出应该是第 1、2 和 6 行。
如果建议的答案也适用于字符串,也会有所帮助。
可以试试:
m5[apply(m5, 1, function(x) any(x %in% c(12, 9, 7))), ]
给予:
V1 V2 V3 V4
4 9 3 9 3
1 12 6 12 6
6 7 1 7 1
也有 dplyr
的可能性,但这可能有点矫枉过正:
dplyr::filter_all(m5, any_vars(. %in% c(12, 9, 7)))