Подсчитать количество значений на квантиль в R? - PullRequest
0 голосов
/ 08 октября 2018

Если у меня есть этот пример:

 y=c(5,6,2,51,54,58,37,75,16,25,22,31,6,4)
 x=c(5,6,2,1,4,8,7,5,6,5,2,1,5,4)
 re<-data.frame(x,y)

, то легко оценить quantile, используя, например,

  quantile(x)

Мне нужно оценить количество этих пар в х иу с квантилем х> 60% и квантилем у <20%? </p>

Ответы [ 2 ]

0 голосов
/ 08 октября 2018
y=c(5,6,2,51,54,58,37,75,16,25,22,31,6,4)
x=c(5,6,2,1,4,8,7,5,6,5,2,1,5,4)
re<-data.frame(x,y)
res <- re[which(x > quantile(x, .6)),]
res <- res[which(y < quantile(y, .2)),]
0 голосов
/ 08 октября 2018

Следующее делает то, что вы хотите.

with(re, sum(x > quantile(x, 0.6) & y < quantile(y, 0.2)))
#[1] 0

Вы можете использовать эту функцию для получения различных квантилей.

sumQuant <- function(DF, qx, qy){
  with(DF, sum(x > quantile(x, qx) & y < quantile(y, qy)))
}

sumQuant(re, 0.6, 0.2)
#[1] 0

sumQuant(re, 0.6, 0.4)
#[1] 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...