У меня есть кадр данных R, который содержит множество наблюдений и выглядит как:фильтр R data.frame по нескольким столбцам
df <- data.frame(obs1=c(7.1,8.3,9.8),
obs2=c(5.2,8.8,4.1),
obs3=c(9.6,8.1,7.7),
obs4=c(7.2,8.1,9.4),
obs5=c(NA,5.4,9.0),
hi1=c(9.6,8.8,9.8),
hi2=c(7.2,8.3,9.4))
Я упрощена, так как набл выходит obs25. hi1 и hi2 содержат самые высокие и следующие самые высокие значения в каждой строке. Мне нужно получить все строки с obs* > x
, но меньше, чем hi1 или hi2. Другими словами, все строки, которые имеют значения выше порогового значения, но не являются двумя самыми высокими значениями. Благодаря!
Извините, что не яснее. Например, если порог установлен на уровне 8 и используется выше dataframe результат был бы строки 2 и 3:
в строке 2, obs3 и obs4 являются> 8, но меньше, чем 2 высокая
в строка 3, obs5> 8, но менее 2 высокая
ли вы имеете в виду все * столбцы *, которые являются ab ove порог, но не самые высокие два значения? –
Каков ожидаемый результат? –