Я только собираю воедино те замечательные предложения, которые уже дали другие.Мне нравится возможность сохранять это как функцию и обобщать значения, кроме 1, включая категориальные значения (также выбирает положительно или отрицательно, используя аргумент select):
v.omit <- function(dataframe, v = 0, select = "neg") {
switch(select,
neg = dataframe[apply(dataframe, 1, function(y) !any(y %in% (v))), ],
pos = dataframe[apply(dataframe, 1, function(y) any(y %in% (v))), ])
}
Давайте попробуем.
x <- matrix(c(0,0,0,1,1,0,1,1,1,1,NA,1), ncol = 2, byrow = TRUE)
v.omit(x)
v.omit(mtcars, 0)
v.omit(mtcars, 1)
v.omit(CO2, "chilled")
v.omit(mtcars, c(4,3))
v.omit(CO2, c('Quebec', 'chilled'))
v.omit(x, select="pos")
v.omit(CO2, c('Quebec', 'chilled'), select="pos")
v.omit(x, NA)
v.omit(x, c(0, NA))
Пожалуйста, не отмечайте мой ответ как правильный, так как другие ответили до меня, это просто для продолжения разговора.Спасибо за код и вопрос.