如何在dplyr TIBLE字符变量中包含数学符号?
我有不同工资率的个人数据,我想做一个ggplot,包括每个工资箱的单独系列如何在dplyr TIBLE字符变量中包含数学符号?,r,ggplot2,dplyr,tibble,R,Ggplot2,Dplyr,Tibble,我有不同工资率的个人数据,我想做一个ggplot,包括每个工资箱的单独系列 下面的代码可以工作,但我希望有一种方法可以在变量中包含数学符号,这样我就不用ggplot了,但这对基础图形有效,应该也可以使用ggplot lbl <- gsub('^(.*)(?=[<>])', 'paste(\\1)', unique(wage_data$worker_group), perl = TRUE) # [1] "paste(Wage)>=10" "
下面的代码可以工作,但我希望有一种方法可以在变量中包含数学符号,这样我就不用ggplot了,但这对基础图形有效,应该也可以使用ggplot
lbl <- gsub('^(.*)(?=[<>])', 'paste(\\1)', unique(wage_data$worker_group), perl = TRUE)
# [1] "paste(Wage)>=10" "paste(9<=Wage)<10" "paste(Wage)<9"
ggplot(wage_data, aes(y, z, color = worker_group)) +
geom_point() +
scale_color_manual(values = scales::hue_pal()(3), labels = parse(text = lbl))
lbl这可能有效:
library(ggplot2)
library(tibble)
library(tidyverse)
wage_data <- tibble(
x=runif(100, 8, 11),
y=rnorm(100),
z=y+rnorm(100, 0, 0.5),
worker_group=case_when(
x<9 ~ "Wage < 9",
x>=9 & x<10 ~ "9 <= `Wage < 10`",
x>=10 ~ "Wage >= 10"
)
)
wage_data %>%
ggplot(aes(y, z, color=worker_group)) +
geom_point() +
scale_color_manual(values = scales::hue_pal()(3),
labels = scales::parse_format())
库(ggplot2)
图书馆(tibble)
图书馆(tidyverse)
工资数据%
ggplot(aes(y,z,颜色=工人组))+
几何点()+
缩放颜色手动(值=缩放::色调pal()(3),
labels=scales::parse_format())
输出:
我不认为这是我想要的,因为在绘图之前必须手动指定标签和箱子?理想情况下,这些标签来自数据,以最大限度地减少为序列分配不正确标签的机会。这些标签实际上来自数据,它是编程的。如果你想像另一个答案一样手动修复标签,那就去吧哇,这太棒了!你知道如果worker_组变量是一个因子,而因子标签上有数学符号,是否还有其他方法可以这样做吗?只是因为我可能想重新排列它们,因为它们不会自然地按递增或递减顺序排列,而是按字母顺序排列。
library(ggplot2)
library(tibble)
library(tidyverse)
wage_data <- tibble(
x=runif(100, 8, 11),
y=rnorm(100),
z=y+rnorm(100, 0, 0.5),
worker_group=case_when(
x<9 ~ "Wage < 9",
x>=9 & x<10 ~ "9 <= `Wage < 10`",
x>=10 ~ "Wage >= 10"
)
)
wage_data %>%
ggplot(aes(y, z, color=worker_group)) +
geom_point() +
scale_color_manual(values = scales::hue_pal()(3),
labels = scales::parse_format())