【发布时间】:2019-11-14 05:33:05
【问题描述】:
我有一个包含六列的数据框 - 其中一列是月份。我想重新排序此列以匹配月份的顺序(一月、二月、三月、四月、五月、六月等)。我想重新排序所有行,以便数据也根据月份的变化匹配新订单(即,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
感谢任何帮助!
【问题讨论】:
-
如果您一直使用缩写词或整月,您将很容易使用 akrun 的建议或欺骗。如果你拼写出“June”,但其余部分使用缩写,你将不得不稍微调整它作为一个特殊情况。 (我建议
my_months = month.abb; my_months[6] = "June",然后在答案中使用my_months而不是month.abb。)
标签: r dataframe dplyr tidyverse