我有一个由六列组成的数据框-其中之一是月。我想对该列进行重新排序,以匹配月份的顺序(一月,二月,三月,四月,五月,六月等)。我想对所有行进行重新排序,以便数据也根据月份的变化与新订单匹配(即,V1也会随着重新排序而移动。
我打算编写一个函数来执行此操作,但是我确定有更简单的方法(程序包)可以执行此操作。
这是我的df:
library(tidyverse)
# Dataframe
df <- tribble(
~ID, ~Month, ~V1, ~V2, ~V3,
1, "Jan", 2, 3, 5,
1, "Feb", 3, 4, 6,
1, "Mar", 7, 8, 9,
2, "May", 1, 1, 1,
2, "Feb", 2, 3, 4,
2, "June", 7, 8, 8
)
df
感谢任何帮助!
答案 0 :(得分:0)
一个更简单的选择是match
使用内置的“ month.abb”
library(dplyr)
df %>%
arrange(match(Month, month.abb))
如果是全名而不是缩写,请使用month.name
df %>%
arrange(match(Month, month.name))