Хотя вышеупомянутые решения должны работать в 90% случаев, но если вы все еще читаете этот ответ !!! Вероятно, вы пытаетесь подключиться к другому серверу, чем предполагалось. Возможно, это связано с конфигурационным файлом, указывающим на другой сервер SQL, чем фактический сервер, с которым вы пытаетесь подключиться.
Произошло со мной по крайней мере.
Мы можем использовать rowSums
напрямую
df[rowSums(df[2:4] >= 0.5) > 0, ]
# Name Clust1 Clust2 Clust3
#2 BB 0.76946 0.03242 0.029358
#3 CC 0.10990 0.52171 0.283859
Или dplyr
версию с filter_at
и any_vars
library(dplyr)
df %>%
filter_at(vars(starts_with("Clust")), any_vars(. >= 0.5))
и в том, что касается исправления вашего В коде упоминается @thelatemail. Вы включаете столбец 1 в rowSums
, который является столбцом Name
, поэтому вы хотите поместить его в столбцы 2:4
. Также мы можем напрямую filter
вместо создания новой переменной с mutate
, поэтому должно работать следующее.
df %>% filter(rowSums(.[,c(2:4)] >= 0.5) > 0)
Мы также можем использовать версию apply
, которая была бы медленной для больших наборов данных
df[apply(df[2:4] >= 0.5, 1, any), ]