如何从图形的整数更改 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 中列的名称的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Pyarrow 更改镶木地板文件中列的名称?

使用 R [重复] 更改数据框中列的顺序

如何更改 BigQuery 中列的数据类型

如何更改 SQL Server 中列的数据类型?

如何更改pyspark数据框中列的顺序?

更改增量表中列的数据类型