如何从图形的整数更改 r 中列的名称
Posted
技术标签:
【中文标题】如何从图形的整数更改 r 中列的名称【英文标题】:How to change the name of a column in r from an integer for a graph 【发布时间】:2022-01-03 08:41:05 【问题描述】:我正在尝试在 R 中绘制条形图,星期几是 x 轴,我希望它们成为每个条形的标签,但在数据集中,它们从星期日开始标记为 1 到 7,所以我做了以下事情:
week_day2$day_of_week <- recode(week_day2$day_of_week,
"1"="Sunday",
"2"="Monday",
"3"="Tuesday",
"4"="Wednesday",
"5"="Thursday",
"6"="Friday",
"7"="Saturday")
但后来我无法按顺序制作条形图,所以我使用了 forcats 库
library(tidyverse)
library(forcats)
Graph_major_days <- week_day2 %>%
mutate(name = fct_relevel(day_of_week,
"Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday",
"Saturday")) %>%
ggplot( aes(x=name, y=n)) +
geom_bar(stat="identity")
我想知道是否有更简单/可读的方法来做这种事情
【问题讨论】:
【参考方案1】:如果我理解正确,您应该保留数据集中的数字,只需将绘图的标签更改为工作日即可。这是一个完整的例子:
library(ggplot2)
set.seed(0)
df <- data.frame(day_of_week = sample(1:7, 7), n = rnorm(7))
days = c("Sun", "Mon", "Tue", "Thu", "Wed", "Fri", "Sat")
ggplot(df, aes(x = day_of_week, y = n)) +
geom_bar(stat="identity") +
scale_x_continuous(breaks = 1:7, labels = days)
如您所见,即使日期在数据集中没有排序,但它们在图中显示是有序的。如果需要,您还可以将星期几添加到数据集中,只是不要删除数值。
【讨论】:
以上是关于如何从图形的整数更改 r 中列的名称的主要内容,如果未能解决你的问题,请参考以下文章