找到 10% 的最高和最低值,修剪 R 中的所有列

问题描述

我有一个包含不同列的数据集。 我想在 RES 列中找到 10% 的最高和最低值并删除所有对应的值。

到目前为止我有这个:

    library(DescTools)
par(mfcol=c(1,2)); 
Tdata=Trim(data$res,trim=0.1)

Tdata = as.data.frame(Tdata)
hist(data$res); hist(Tdata)
View(cbind(data$res,Tdata))

在我看来,这可以删除 10% 的最高和最低值,但它是通过创建一个新变量来实现的。相反,我想从数据集中删除所有相应的行。

在此 GoogleDrive 文件夹中,您可以找到数据集。

提前致谢

解决方法

未测试,但

library(data.table)
#set to data.table object
dt <- as.data.table(data)

#select only rows between 0.1 and 0.9 quantiles
dt <- dt[res >= quantile(res,0.1) & res <= quantile(res,0.9)]