重新排序数据框中的因子水平[重复]
Posted
技术标签:
【中文标题】重新排序数据框中的因子水平[重复]【英文标题】: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
)。是这个意思吗?
【参考方案1】:
假设你的数据框是 mydf:
mydf$task <- factor(mydf$task, levels = c("up", "down", "left", "right", "front", "back"))
【讨论】:
谢谢。我还发现,仅出于使用 ggplot2 更改绘图顺序的目的,您可以使用函数 scale_x_discrete 并将 limits 参数设置为 x 轴中因子所需的适当顺序。 也可以试试mydf$task <- ordered(mydf$task levels =c("up", "down", "left", "right", "front", "back")
谢谢,也遇到了同样的问题,我通过另一个anwser知道这与此有关,但是玩因素对我来说总是很复杂,我不知道为什么
@HanniBaL90:相信我,你并不是唯一一个发现一些复杂因素的人。我花了很多时间试图将因素纳入我需要的形式。但因素问题似乎相当普遍......以上是关于重新排序数据框中的因子水平[重复]的主要内容,如果未能解决你的问题,请参考以下文章