Как поменять квантиль на баллы в тидиверсе в R? - PullRequest
1 голос
/ 09 октября 2019

Я хочу ранжировать квантили за свои данные, но я получаю высокий ранг за самый высокий балл. Я хочу получить самый низкий рейтинг (т. Е. 1) за самый высокий балл.

Следующий код дает мне высокий рейтинг за самый высокий балл, который меня не интересует:

M %>%
    mutate(quantile = ntile(Score, 10))

Я использовал reverse = TRUE или include.lowest = TRUE, не сработало. Можешь мне помочь? Я чувствовал, что нет необходимости предоставлять образец данных.

1 Ответ

2 голосов
/ 09 октября 2019

Просто отрицайте значения:

M %>% mutate(quantile = ntile(-Score, 10))

Пример:

df1 %>%
  mutate(quantile = ntile(-score, 3))

# # A tibble: 6 x 4
#   ntile date        score quantile
#   <int> <date>      <dbl>    <int>
# 1     1 2005-08-31 -2.39         3
# 2     1 2005-09-30  0.573        2
# 3     1 2005-10-31 -1.61         3
# 4     1 2005-11-30  5.43         1
# 5     1 2005-12-31  0.106        2
# 6     1 2006-01-31  6.66         1  

Данные игрушек:

df1 <- structure(list(ntile = c(1L, 1L, 1L, 1L, 1L, 1L), 
                      date = structure(c(13026, 13056, 13087, 13117, 13148, 13179), 
                                       class = "Date"), 
                      score = c(-2.38916419707325, 0.572675136581781, -1.61130358515631, 
                                 5.42706994951004, 0.105533424368025, 6.65697289481407)), 
                 row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...