R 在不同的ggplot2绘图中复制命令

R 在不同的ggplot2绘图中复制命令,r,ggplot2,dry,R,Ggplot2,Dry,这似乎是许多人会面临的一个问题,遵循的是“不要重复你自己”(干燥)原则。我在任何地方都找不到答案,也许我一直在寻找错误的术语,这意味着我的问题标题可能不是很好。如果人们对如何命名问题有更好的建议,我们将不胜感激 我有几个ggplot2绘图,它们都有一些共同的命令,以及其他变化太大的命令,因此不值得将它们作为循环/函数一起编写 如何在一行整洁的代码中包含常用命令 一个例子可能会更清楚地解释: common.lines <- "theme_bw() + geom

这似乎是许多人会面临的一个问题,遵循的是“不要重复你自己”(干燥)原则。我在任何地方都找不到答案,也许我一直在寻找错误的术语,这意味着我的问题标题可能不是很好。如果人们对如何命名问题有更好的建议,我们将不胜感激

我有几个
ggplot2
绘图,它们都有一些共同的命令,以及其他变化太大的命令,因此不值得将它们作为循环/函数一起编写

如何在一行整洁的代码中包含常用命令

一个例子可能会更清楚地解释:

common.lines <- "theme_bw() +
                geom_point(size = 2) +
                stat_smooth(method = lm, alpha = 0.6) +
                ylab("Height")"

my.plot <- ggplot(data = my_df, aes(x = "Length", y = "Height")) +
             common.lines

jim.plot <- ggplot(data = jim_df, aes(x = "Width", y = "Height")) +
              common.lines

common.lines您可以将命令放入列表中

my_df <- data.frame(Length=rnorm(100, 1:100), Height=rnorm(100, 1:100))
jim_df <- data.frame(Width=rnorm(100, sin(seq(1,4*pi,len=100))),
                     Height=rnorm(100, 1:100))
common.lines <- list(theme_bw(), geom_point(size = 2), 
                     stat_smooth(method = lm, alpha = 0.6), ylab("Special Label"))

my.plot <- ggplot(data = my_df, aes(Length, Height)) + common.lines
jim.plot <- ggplot(data = jim_df, aes(Width, Height)) + common.lines
jim.plot

my_df如果你使用@Henrik之类的函数,冗余度会更低谢谢,我知道,有时在某种程度上我可以这样做,但就像我说的,有时所有的变化都不能在函数formThank中解释!这很有效。现在我想知道这个问题是否有更好的标题,以便其他人通过搜索相关术语来找到它。。。