【问题标题】:Write function to plot data, requires passing data.frame column names写函数来绘制数据,需要传递 data.frame 列名
【发布时间】:2020-01-03 13:37:03
【问题描述】:

我想编写一个函数来创建绘图(以便创建多个绘图而不每次都列出设计设置)。我使用的 pirateplot 函数需要列名和数据框作为输入,这会导致问题。

我的无效代码是:

pirateplot_default <- function(DV,IV,Dataset) {
  plot <- pirateplot(formula = DV ~ IV,
             data = Dataset,
             xlab = "Solution")
  return(plot)
}
  • 我尝试过“as.name”(看到here),但没有成功。
  • 不能使用 data[DV],因为 pirateplot 函数需要不同的符号
  • 我知道有类似的问题here,here,here,这对于更熟练的程序员来说可能是重复的,但我没有设法将其他问题的解决方案应用于我的问题,所以希望得到帮助。

【问题讨论】:

    标签: r function plot


    【解决方案1】:

    这是一个例子

    pirateplot_default <- function(DV,IV,Dataset) {
      tmp=as.formula(paste0(DV,"~",paste0(IV,collapse="+")))
      plot <- pirateplot(formula = tmp,
                         data = Dataset,
                         xlab = "Solution")
      return(plot)
    }
    
    pirateplot_default("mpg",c("disp","cyl","hp"),mtcars)
    

    【讨论】:

    • 非常感谢,我没想到我可以将公式作为一个整体来操作。完美运行。感谢您在存在多个自变量 (IV) 的情况下增加灵活性。
    猜你喜欢
    • 2011-02-08
    • 2023-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多