сортировать переменные по-своему в R - PullRequest
0 голосов
/ 20 июля 2010

Я бы хотел отсортировать категориальную переменную по-своему.Я сгруппировал свой набор данных по категориям, таким как «1-5», «6-10», «11-20» .... «> 251» и так далее.Если отобразить переменные или отобразить их в таблице, последовательность легенды или последовательность в метке «перепутались».

Это неудивительно, поскольку R не знает, что эти неупорядоченные переменные упорядочены на самом деле,Есть ли способ прикрепить определенную вручную последовательность к ним?

спасибо за любые предложения заранее!

Ответы [ 3 ]

4 голосов
/ 20 июля 2010

Когда я хочу указать другой порядок для коэффициента вручную (утомительно, но иногда необходимо), я делаю вот что:

> ## a factor
> x <- factor(letters[1:3])
> ## write out levels with dput
> dput(levels(x))
c("a", "b", "c")
> ## copy, paste, modify and use factor again. e.g.
> x <- factor(x, levels=c("b", "a", "c"))
> x
[1] a b c
Levels: b a c
4 голосов
/ 20 июля 2010

Категориальные переменные сохраняются как (или преобразуются в) factor s при их построении. Порядок их появления на графике зависит от уровней фактора.

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

dfr <- data.frame(x = runif(100, 1, 256))
dfr$groups <- cut(dfr$x, seq(1, 256, 5))

Эта проблема также очень похожа на другой недавний вопрос SO .

0 голосов
/ 21 июля 2010

Мне нравится использовать split для такого рода вещей.

vect = runif (10)

vect.categories = c (rep (LETTERS [1], 5), rep (LETTERS [2], 3), rep (LETTERS [5], 2))

category.list = split (vect, vect.categories)

....

Может быть, не связан, но думал, что предложу предложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...