【问题标题】:Re-ordering factor levels in data frame [duplicate]重新排序数据框中的因子水平[重复]
【发布时间】:2022-01-10 18:33:46
【问题描述】:

我有一个data.frame,如下图:

task    measure
right   m1
left    m2
up      m3
down    m4
front   m5
back    m6
.
.
.

任务栏只取6个不同的值,作为因子,按R排序为:“后”、“下”、“前”、“左”、“右”、“上”。

但是,我需要它们按以下顺序排列:“上”、“下”、“左”、“右”、“前”、“后”。这样,当我在 ggplot 中使用这些数据时,相关的任务(例如“up”和“down”)会彼此相邻绘制。

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

【问题讨论】:

  • levels(x) <- value 语法(参见?levels)。是这个意思吗?

标签: r dataframe levels r-faq


【解决方案1】:

假设你的数据框是 mydf:

mydf$task <- factor(mydf$task, levels = c("up", "down", "left", "right", "front", "back"))

【讨论】:

  • 谢谢。我还发现,仅出于使用 ggplot2 更改绘图顺序的目的,您可以使用函数 scale_x_discrete 并将 limits 参数设置为 x 轴中因子所需的适当顺序。
  • 也可以试试mydf$task &lt;- ordered(mydf$task levels =c("up", "down", "left", "right", "front", "back")
  • 谢谢,也遇到了同样的问题,我通过另一个anwser知道这与此有关,但是玩因素对我来说总是很复杂,我不知道为什么
  • @HanniBaL90:相信我,你并不是唯一一个发现一些复杂因素的人。我花了很多时间试图将因素纳入我需要的形式。但因素问题似乎相当普遍......
猜你喜欢
  • 2021-04-16
  • 1970-01-01
  • 1970-01-01
  • 2016-07-19
  • 1970-01-01
  • 1970-01-01
  • 2018-12-07
  • 1970-01-01
相关资源
最近更新 更多