r - 如何在ggplot的facet_grid函数中应用下标

标签 r ggplot2 subscript

我想使用ggplot绘制空气污染物与出生体重变化(95%CI)的关联的结果。

我的数据格式是这样的

variable    exposure period      coef    coef_lb      coef_ub
PM10        entire pregnancy    -27.6      -49.2         -3.8
SO2         entire pregnancy       40       14.2         62.8
NO          entire pregnancy      -26        -44         -6.4
NO2         entire pregnancy        0        -20           19
PM10        trimester1          -29.4      -49.4           -8
SO2         trimester1             12         -9         31.8
NO          trimester1            5.2      -15.2         28.2
NO2         trimester1           -2.2        -23         16.6
PM10        trimester2          -11.8      -35.2         11.2
SO2         trimester2           26.2          2         51.4
NO          trimester2          -10.8      -35.2         12.4
NO2         trimester2           -7.4      -27.8         14.6
PM10        trimester3            6.2      -17.6         28.2
SO2         trimester3            0.6        -19         22.4
NO          trimester3            -24        -43         -5.4
NO2         trimester3              7      -11.4         26.8

我得到了上面的图。但是我要改进的一件事是将PM10更改为PM +(下标10),对于SO2和NO2也是如此。
g <- ggplot(data=result, aes(x=exposure.period, y=coef))
g <- g + facet_grid(.~variable)
g <- g + geom_pointrange(aes(ymin=coef_lb, ymax=coef_ub))
g <- g + geom_point() 
g <- g + scale_y_continuous(breaks = (seq(-80, 80, by = 10)))
g <- g + xlab("Exposure period") 
g <- g + ylab("Mean change in birth weight (gram)") 
g <- g + theme(axis.text.x=element_text(angle = 45, hjust = 1))
g 

我使用了上面的脚本,我知道我可以将“facet_grid(。〜variable)”更改为“facet_grid(。〜variable,labeller =” lablevalue“)”“;并使用“expression(“PM” [10])“实现下标。

但是我不确定如何将其放入贴标签机功能中。

我尝试添加
lablevalue <- c(expression("PM"[10]),expression("SO[2]), "NO","expression("NO"[2])")
g <- g + facet_grid(.~variable, labeller=lablevalue)

但它没有用。

有人可以帮忙吗?谢谢!

最佳答案

请尝试以下方法:

levels(result$variable) <- c("PM[10]","SO[2]", "NO", "NO[2]")

# After changing the values run the whole code again:
g <- ggplot(data=result, aes(x=exposure.period, y=coef))
g <- g + facet_grid(.~variable)
g <- g + geom_pointrange(aes(ymin=coef_lb, ymax=coef_ub))
g <- g + geom_point() 
g <- g + scale_y_continuous(breaks = (seq(-80, 80, by = 10)))
g <- g + xlab("Exposure period") 
g <- g + ylab("Mean change in birth weight (gram)") 
g <- g + theme(axis.text.x=element_text(angle = 45, hjust = 1))

# Use label_parsed
g + facet_grid(.~variable, labeller = label_parsed)

关于r - 如何在ggplot的facet_grid函数中应用下标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28316214/

相关文章:

r - 在 R 和 ggplot2 中绘制正态分布的垂直密度

macos - R中的sqldf包,查询数据框

r - 按 R 中的因子矢量化 cumsum

r - 如何在 ggplot2 中设置 y 轴标签的宽度

r - 使用 ggplot 库中的 geom_path

arrays - Bash 数组中的负下标

r - 不使用ddply和merge计算 "group characteristics"

r - ggplot2 - y 轴标题上的两行或多行

c++ - 通过 vector 下标访问 Fortran 数组,cpp 等效

ios - Swift 2.0 字典下标问题