我如何 select R-DataFrame 中第三个四分位数以上的数据

How I can select data that is above the third quartile in a R-DataFrame

我想要 select 个案例,其中某些变量的值高于相应的第三个四分位数 (3)

由于我的数据集非常大,我将以 R 中的 'Air Quality' 数据库为例。

df <- airquality[complete.cases(airquality),]

objective 是按某些列过滤 ('Ozone', 'Solar.R', 'Wind', 'Temp').

目前我能够开发这个解决方案:

filtro_Ozone = df$Ozone>quantile(df$Ozone)[4]
filtro_Solar.R = df$Solar.R>quantile(df$Solar.R)[4]
filtro_Wind = df$Wind>quantile(df$Wind)[4]
filtro_Temp = df$Temp>quantile(df$Temp)[4]

df[filtro_Ozone & filtro_Solar.R & filtro_Wind & filtro_Temp,]

我得到:

   Ozone Solar.R Wind Temp Month Day
40    71     291 13.8   90     6   9

另一种更有趣的方式?

更新:根据 OP 的更新请求,您可以使用 dplyr 中的 filter_at 来仅过滤选定的变量:

df <- airquality[complete.cases(airquality),]
filter_at(df, vars(Ozone, Solar.R, Wind, Temp), ~. > quantile(., probs = 0.75))