any
может работать, если оно равно vector
, как сказано в документации
При заданном наборе логических векторов верно ли хотя бы одно из значений?
В посте ОП оба примера не vector
с. Первый - это data.frame с logical
столбцами. Если мы go удовлетворяем документации, т.е. создаем логический вектор, либо преобразуем в matrix
(поскольку matrix
в любом случае vector
с некоторыми атрибутами dim
)
any(as.matrix(df1))
#[1] TRUE
Или измените его на vector
с помощью unlist
, используя list
(a data.frame
- это list
из vector
s или столбцов такой же длины)
any(unlist(df1))
В во втором случае появляется предупреждение, и выполняется некоторое принудительное
any(df2)
#[1] TRUE
предупреждение: в любом (c (1, 2), na.rm = FALSE): принудительный аргумент наберите 'double' для логического