重新排序数据框中的因子级别

siv*_*2kb 43 r dataframe

我有一个data.frame,如下所示:

task    measure
right   m1
left    m2
up      m3
down    m4
front   m5
back    m6
.
.
.
Run Code Online (Sandbox Code Playgroud)

任务栏仅采用六个不同的值,这些值被视为因子,并按R排序为:"后退","下","前","左","右","上".

但是,我需要将它们命名为:"向上","向下","向左","向右","向前","向后".因此,当我在ggplot中使用此数据时,相关任务(例如"向上"和"向下")彼此相邻绘制.

如何改变因子"任务"级别的顺序?

Met*_*ics 85

假设您的数据帧是mydf:

mydf$task <- factor(mydf$task, levels = c("up", "down", "left", "right", "front", "back"))
Run Code Online (Sandbox Code Playgroud)

  • 谢谢.我还发现,只是为了使用ggplot2更改绘图的顺序,您可以使用函数scale_x_discrete并将limits参数设置为x轴中因子所需的适当顺序. (10认同)
  • 也尝试`mydf $ task < - ordered(mydf $ task levels = c("up","down","left","right","front","back")` (4认同)
  • @HanniBaL90:相信我,你并不是唯一一个发现因素有些复杂的人。我花了很多时间试图将因素转化为我需要的形式。但因素问题似乎相当普遍...... (3认同)