Как исключить верхние и нижние 5% столбца в кадре данных в r? - PullRequest
0 голосов
/ 08 февраля 2020

Если мой фрейм данных называется «дома» и я хочу исключить верхние 5% и нижние 5% столбца Sale_Price, как мне это сделать?

houses[quantile(Sale_Price, c(.05, .95))

Я пробовал этот код, но я получаю ошибки.

Ответы [ 2 ]

1 голос
/ 08 февраля 2020

Используя dplyr, мы можем сделать

library(dplyr)

houses %>% filter(between(Sale_Price, 
                  quantile(Sale_Price, 0.05), quantile(Sale_Price, 0.95)))

Или с data.table

library(data.table)

setDT(houses)
houses[Sale_Price %between% quantile(Sale_Price, c(.05, .95))]
1 голос
/ 08 февраля 2020

Вот некоторые данные, которые, как я полагаю, похожи на те, которые у вас есть.

houses<-data.frame(Sale_Price=rnorm(100,50,5))

Код, который остается только с ценами между верхним и нижним 5% значений Sale_Price

#Calculate 0.05 and 0.95 percentiles
quants<-quantile(houses$Sale_Price, probs = c(0.05, 0.95))
#Subset according to the two percentiles
df1 <- houses$Sale_Price[houses$Sale_Price > quants[1] & houses$Sale_Price < quants[2]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...