使用两个程序定义的变量的线性运算作为ggplot的美观

三月

我正在努力编写一个非常简单的包装程序来生成不同变量的图。说我的数据是:

data <- tibble(year = seq(2001,2015),var1 = rnorm(15, mean=2), var1_sd = rnorm(15, mean=1, sd=0.8), var2 = rnorm(15, mean=7), var2_sd = rnorm(15, mean=1, sd=0.15))

而我想做的情节是

ggplot(data,aes(x=year, y=var1)) + 
    geom_pointrange(aes(ymin=var1-var1_sd, ymax=var1+var1_sd))

我想为许多变量组合制作完全相同的图,所以我写了一个包装器:

myplot <- function(data, var) {
  var <- enquo(var)
  sdvar <- paste0(quo_name(var), "_sd")
  ggplot(data,aes(x=year, y=!!var)) +
    geom_pointrange(aes(ymin=!!var-!!sdvar, ymax=!!var+!!sdvar))
}

调用时myplot(data, var1),出现错误“(〜var1)中的错误-“ var1_sd”:二进制运算符的非数字参数”

我认为问题出在未引用变量之间的线性运算中?有谁知道如何解决这个问题?

谢谢!!!

马吕斯

此刻,sdvar只是一个字符串。您可以使用将它变成一个符号sym(),然后取消引用的工作:

myplot <- function(data, var) {
    var <- enquo(var)
    sdvar <- sym(paste0(quo_name(var), "_sd"))
    ggplot(data,aes(x=year, y=!!var)) +
        geom_pointrange(aes(ymin=!!var-!!sdvar, ymax=!!var+!!sdvar))
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用线性回归求解两个变量方程

来自分类Dev

ggplot中的两个填充变量

来自分类Dev

带有两个变量的 ggplot

来自分类Dev

在程序集中添加两个变量

来自分类Dev

约束:运算符可以使用两个类型变量

来自分类Dev

使用dplyr计算两个向量/变量的运算时传播NA

来自分类Dev

如何在jstl中使用'and'运算符检查两个变量

来自分类Dev

算术运算+只是结合了两个变量

来自分类Dev

JQuery“OR”运算符组合两个变量

来自分类Dev

将两个定义为String的命令合并到变量中,然后作为一个命令运行

来自分类Dev

如何在Django中使用html作为JSON发送两个变量?

来自分类Dev

使用两个已定义的参数调用Python方法,但仅传递一个变量

来自分类Dev

两个问题,使用charAt作为未定义的输入和循环输出

来自分类Dev

使用两个自定义Firebase参数作为尺寸在Data Studio中创建图表

来自分类Dev

使用 onChange 事件并发送两个对象作为参数让我未定义

来自分类Dev

如何使用ggplot为两个不同的分组变量手动指定颜色填充?

来自分类Dev

在R中使用ggplot2创建两个变量的有向箭头图

来自分类Dev

使用 ggplot2 在条形图上绘制两个变量

来自分类Dev

两个变量作为单元格引用

来自分类Dev

使用两个变量更新列

来自分类Dev

如何使用两个变量重塑

来自分类Dev

对两个ControlTemplate使用相同的定义

来自分类Dev

由错误排列的两个变量编码的点的ggplot

来自分类Dev

如何使用由两个以上变量定义的数据子集运行shapiro测试

来自分类Dev

OptaPlanner:我可以使用带有两个变量的自定义 changeMove 吗?

来自分类Dev

如何使用定义持续时间的两个日期时间变量重新索引数据帧

来自分类Dev

尝试使用两个循环时未定义的变量

来自分类Dev

当将 Puthon PuLP 用于线性程序时,我有一种方法可以为同一变量指定两个约束

来自分类Dev

两个使用gpu加速的程序

Related 相关文章

  1. 1

    使用线性回归求解两个变量方程

  2. 2

    ggplot中的两个填充变量

  3. 3

    带有两个变量的 ggplot

  4. 4

    在程序集中添加两个变量

  5. 5

    约束:运算符可以使用两个类型变量

  6. 6

    使用dplyr计算两个向量/变量的运算时传播NA

  7. 7

    如何在jstl中使用'and'运算符检查两个变量

  8. 8

    算术运算+只是结合了两个变量

  9. 9

    JQuery“OR”运算符组合两个变量

  10. 10

    将两个定义为String的命令合并到变量中,然后作为一个命令运行

  11. 11

    如何在Django中使用html作为JSON发送两个变量?

  12. 12

    使用两个已定义的参数调用Python方法,但仅传递一个变量

  13. 13

    两个问题,使用charAt作为未定义的输入和循环输出

  14. 14

    使用两个自定义Firebase参数作为尺寸在Data Studio中创建图表

  15. 15

    使用 onChange 事件并发送两个对象作为参数让我未定义

  16. 16

    如何使用ggplot为两个不同的分组变量手动指定颜色填充?

  17. 17

    在R中使用ggplot2创建两个变量的有向箭头图

  18. 18

    使用 ggplot2 在条形图上绘制两个变量

  19. 19

    两个变量作为单元格引用

  20. 20

    使用两个变量更新列

  21. 21

    如何使用两个变量重塑

  22. 22

    对两个ControlTemplate使用相同的定义

  23. 23

    由错误排列的两个变量编码的点的ggplot

  24. 24

    如何使用由两个以上变量定义的数据子集运行shapiro测试

  25. 25

    OptaPlanner:我可以使用带有两个变量的自定义 changeMove 吗?

  26. 26

    如何使用定义持续时间的两个日期时间变量重新索引数据帧

  27. 27

    尝试使用两个循环时未定义的变量

  28. 28

    当将 Puthon PuLP 用于线性程序时,我有一种方法可以为同一变量指定两个约束

  29. 29

    两个使用gpu加速的程序

热门标签

归档