2013-12-25 3 views
2

У меня есть кадр данных, где один столбец - «Частота». Отдельные значения в этом столбце: Daily, Weekly, Monthly, Quarterly, Annually, и каждое значение происходит более одного раза. Я хотел бы сортировать данные точно в этом порядке (а не по восходящей/нисходящей по алфавиту) с помощью функции порядка. Есть ли способ, которым я могу это сделать? Должен ли я создать ссылку и использовать совпадение?Порядок строк данных в некотором роде * другой * чем восходящий/нисходящий

Спасибо!

ответ

2

Я думаю, что это хороший способ сделать это с упорядоченным фактором:

levels = c("Daily", "Weekly", "Monthly", "Quarterly", "Annually") 
df = data.frame(Frequency=c("Daily", "Monthly", "Daily", "Annually"), number = 1:4) 
df$Frequency = factor(df$Frequency, levels=levels) 
df = df[order(df$Frequency),] 
#  Frequency number 
# 1  Daily  1 
# 3  Daily  3 
# 2 Monthly  2 
# 4 Annually  4 
Смежные вопросы