提问人:siva82kb 提问时间:8/24/2013 最后编辑:Waelsiva82kb 更新时间:8/26/2021 访问量:194172
对数据框中的因子水平重新排序 [重复]
Re-ordering factor levels in data frame [duplicate]
问:
我有一个data.frame,如下所示:
task measure
right m1
left m2
up m3
down m4
front m5
back m6
.
.
.
任务列仅采用六个不同的值,这些值被视为因子,并按 R 排序为:“后”、“下”、“前”、“左”、“右”、“上”。
无论如何,我需要它们按以下顺序排序:“上”、“下”、“左”、“右”、“前”、“后”。因此,当我在 ggplot 中使用这些数据时,相关任务(例如“向上”和“向下”)会并排绘制。
如何更改因子“任务”级别的顺序?
答:
178赞
Metrics
8/24/2013
#1
假设你的 DataFrame 是 mydf:
mydf$task <- factor(mydf$task, levels = c("up", "down", "left", "right", "front", "back"))
评论
13赞
siva82kb
8/25/2013
谢谢。我还发现,为了使用 ggplot2 更改绘图的顺序,您可以使用函数 scale_x_discrete 并将 limits 参数设置为 x 轴中因子所需的适当顺序。
8赞
user3357059
11/29/2017
也试试mydf$task <- ordered(mydf$task levels =c("up", "down", "left", "right", "front", "back")
0赞
HanniBaL90
3/15/2018
谢谢,也坚持同样的事情,我知道这与此有关,但是玩因子对我来说总是很复杂,我不知道为什么
3赞
thandi
12/14/2019
@HanniBaL90:相信我,你并不是唯一一个发现有些复杂因素的人。我花了很多时间试图将因素放入我需要的形式中。但因素问题似乎相当普遍......
评论
levels(x) <- value
?levels