большой номер в разрезе R - PullRequest
0 голосов
/ 12 марта 2019

Я хочу сохранить ордер после смены большой отметки по номерам.Воспроизводимые примеры:

require(dplyr)
data <- c(rnorm(25, 2000, 500), 19, 10)
data <- data %>% cut(., breaks = 5, dig.lab = 4)
levels(data)

Результаты:

"(7.265,557]" "(557,1104]"  "(1104,1651]" "(1651,2198]" "(2198,2748]"

Когда я меняю формат:

nd_data <- data %>% prettyNum(big.mark = ".")  %>% as.factor()
levels(nd_data)
"(1.104,1.651]" "(1.651,2.198]" "(2.198,2.748]" "  (557,1.104]" "  (7.265,557]"

Порядок меняется.Как сохранить без изменения вручную, потому что у меня разные наборы данных?

1 Ответ

0 голосов
/ 12 марта 2019

Используйте factor и укажите levels явно из data

library(dplyr)

nd_data <- data %>% 
              prettyNum(big.mark = ".") %>% 
              factor(., levels = prettyNum(levels(data), big.mark = "."))

levels(data)
#[1] "(6.802,649.6]" "(649.6,1289]"  "(1289,1929]"   "(1929,2568]"   "(2568,3211]"  

levels(nd_data)
#[1] "(6.802,649.6]" " (649.6,1289]" "(1.289,1.929]" "(1.929,2.568]" "(2.568,3.211]"

Данные

set.seed(1234)
data <- c(rnorm(25, 2000, 500), 19, 10)
data <- data %>% cut(., breaks = 5, dig.lab = 4)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...