Порядок данных в R на основе значений в одном столбце (строки) - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть набор данных в R и я хочу отсортировать весь Dataframe по значениям одного столбца. Значения являются строками, и в этом столбце есть только три возможных значения (Teenager, Twenties, 30+). Я хочу, чтобы Датафрейм был упорядочен в этом точном порядке.

Имя моего кадра данных - это возраст, имя столбца - Категория.

Я уже пробовал

> age[order(Category),]

, который действительно упорядочивает значения, но в следующем порядке: 30+, Подросток, Двадцатые. Можно ли как-то сказать R точный порядок, который я хочу получить?

Кстати, я новичок, очевидно :) Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 03 февраля 2020

Это преобразует столбец в правильный порядок.

Category <- factor(as.character(Category), levels = c("Teenagers", "Twenties", "30+"))

Так что теперь вы можете сделать

age[order(Category),]
0 голосов
/ 03 февраля 2020

Вы можете использовать factor ´s и пакет dplyr для упорядочивания ваших данных. Факторы могут обрабатывать уровни, которые можно упорядочивать по своему усмотрению. Например:

# load dplyr
library(dplyr)

# generate example df
age <- data.frame(Category=c("Teenager", "Twenties", "30+", "Teenager"),
                  stringsAsFactors = F)

# mutate the Category variable as factor with orderd levels
age <- age %>% 
  mutate(Category=factor(Category, 
                         levels=c("Teenager", "Twenties", "30+"), 
                         ordered=T)) %>% 
  arrange(Category)

Кстати, здесь вы можете найти введение в dpylr. Это очень полезно для обработки данных.

PS: Счастливого обучения: -)

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