我正在从事一个需要大量图表的项目,我必须为每个图表都提供一个来源。有没有办法只写一次,以后再参考?
我有这个:
plot(db)
grid.text("Fuente: Elaboración propia con datos del INEGI", 0.8, 0.03,
gp = gpar(fontfamily = "Arial", fontface = "italic", cex = 0.7))
plot(db_2)
grid.text("Fuente: Elaboración propia con datos del INEGI", 0.8, 0.03,
gp = gpar(fontfamily = "Arial", fontface = "italic", cex = 0.7))
需要这样的东西:
fuente <- grid.text("Fuente: Elaboración propia con datos del INEGI", 0.8, 0.03,
gp = gpar(fontfamily = "Arial", fontface = "italic", cex = 0.7))
plot(db)
fuente
plot(db_2)
fuente
答案 0 :(得分:2)
你的意思是
fuente <- function() {
grid.text("Fuente: Elaboración propia con datos del INEGI", 0.8, 0.03,
gp = gpar(fontfamily = "Arial", fontface = "italic", cex = 0.7))
}
?然后 fuente()
将调用您的函数/执行您的代码。
如果你想变得非常聪明,你可以
makeActiveBinding("fuente2", fuente, .GlobalEnv)
然后调用 fuente2
(不带括号)应该可以(但我不建议这样做:这可能太聪明了/不是标准的习惯用法)
一个更标准的方法是为你的绘图调用创建一个包装函数:
myplot <- function(x) {
plot(x)
grid.text(...)
}
myplot(db)
myplot(db2)
(这不是文字,用您的 ...
调用的正文填写 grid.text()
)
答案 1 :(得分:0)
一个选项是也用 quote
包裹,然后使用 eval
fuente <- quote(grid.text("Fuente: Elaboración propia con datos del INEGI", 0.8, 0.03,
gp = gpar(fontfamily = "Arial", fontface = "italic", cex = 0.7)))
plot(db)
eval(fuente)