【发布时间】:2020-12-19 18:09:04
【问题描述】:
我在尝试创建循环或使用 lapply 从一个数据帧生成多个图时遇到了各种麻烦。
df
target A.O2 A.H2O A.conc A.bias B.O2 B.H2O B.conc B.bias C.O2 C.H2O C.conc C.bias
1 85 20.90 0.06 254.96 0.01 20.90 0.06 255.02 0.03 20.90 0.06 254.98 0.01
2 50 20.90 0.09 150.09 0.09 20.90 0.09 150.06 0.08 20.90 0.09 150.00 0.03
3 25 20.94 0.09 75.24 0.31 20.94 0.09 75.47 0.62 20.94 0.09 74.98 -0.04
4 85 10.00 0.08 251.99 -1.22 10.00 0.08 252.02 -1.21 10.00 0.08 252.01 -1.21
5 50 10.00 0.09 148.51 -1.06 10.00 0.09 148.52 -1.05 10.00 0.09 148.50 -1.06
6 25 10.00 0.07 74.00 -1.27 10.00 0.07 74.03 -1.24 10.00 0.07 74.03 -1.24
7 85 0.10 0.06 246.99 -3.13 0.10 0.06 247.01 -3.13 0.10 0.06 247.00 -3.13
8 50 0.10 0.14 146.50 -2.39 0.10 0.14 146.50 -2.39 0.10 0.14 146.45 -2.42
9 25 0.10 0.10 72.97 -2.55 0.10 0.10 73.04 -2.45 0.10 0.10 73.04 -2.44
我想创建 X = O2 (A.O2, B.O2, C.O2) 和 Y = 偏差 (A.bias, B.bias, C.bias) 的图,并且这些点根据目标列中的值。
library(ggrepel)
ggplot(df, aes(A.O2, A.bias)) +
theme_bw() +
theme(legend.position = 'bottom', plot.title = element_text(hjust=0.5)) +
geom_point(aes(colour = factor(target))) +
geom_line(aes(colour = factor(target))) +
geom_text_repel(aes(label=paste(A.bias),
hjust= 0.4,
vjust=-.8, colour = factor(target)),
size = 3) +
ggtitle('A') +
labs(
x = expression('O'[2]),
y = "bias",
colour = 'conc'
)
我想重复相同的代码,其中唯一改变的是 aes() 和 ggtitle() 中的 X 和 Y 值。我曾尝试查找类似的帖子以使用 for 循环或 lapply 来执行此操作,但似乎没有任何效果。
【问题讨论】:
标签: r loops for-loop ggplot2 lapply