我有一个自定义功能,而且效果很好.

Gplot = function(mydata, AE){
ggplot(mydata)+
...
geom_vline(aes(xintercept = breaks[2]), color = "seagreen", linetype = "dashed"))
}
...

有时我不需要垂直线,那么使用时如何删除geom_vline呢?

我知道我可以在函数中删除这句话,但大多数时候我都需要它.所以我只是想用一些特定的变量来删除它.

推荐答案

使用条件并且仅在添加线参数为True时添加垂直线:

Gplot = function(mydata, AE, addline=TRUE){
  gp <- ggplot(mydata)+
  ...
  if(addline){
    gp <- gp + geom_vline(aes(xintercept = breaks[2]))
  }
  return(gp)
}
...

R相关问答推荐

Facet_wrap具有不同bin宽度值的图表

分组时间连续值

如何根据包含相同值的某些列获取总额

在ggplot的注释表格中突出显示最大值

如何删除R中除某些特定名称外的所有字符串?

如何 bootstrap glm回归、估计95%置信区间并绘制它?

根据R中两个变量的两个条件删除带有dspirr的行

在不安装软件包的情况下测试更新

手动打印线型gplot

2个Rscript.exe可执行文件有什么区别?

将向量元素重新排序为R中的第二个

R:如果为NA,则根据条件,使用列名模式将缺少的值替换为另一列中的值

使用未知字符数(不受限制的最大长度)的Lookback有什么好的替代方案?

有没有办法定制Plot(allEffects())面板标题?

删除数据帧中特定行号之间的每第三行和第四行

将多个列合并为一个列的有效方法是什么?

计算Mean by分组和绑定到R中的数据集

名字的模糊匹配

使用同一行中的前一个值填充R矩阵中的缺失值

条形图中的条形图没有try 赋予它们的 colored颜色