0

我目前正在尝试编写自己的函数,该函数将通过确定一个变量来生成一些图表。但出于某种原因,R 对下面的代码不太满意。

explore = function(var, title) {
  par(mfrow=c(1,2))
  tr = rpart(y ~ {{var}}, data = df)
  plot(tr, margin = .1, uniform = TRUE, main = title)
  text(tr, fancy = TRUE, use.n = TRUE)
  stripchart({{var}} ~ y, main = title, data = df, method = "stack")
  boxplot({{var}} ~ y, data = df)
}

输出表明无法从 df 中找到“var”。任何帮助/建议将不胜感激。

非常感谢

4

1 回答 1

1

不要将基数 R 与tidyverse, {{}}is from混合tidyverse。您可以使用reformulate创建公式对象并使用它。

explore = function(var, title) {
  formula1 <- reformulate(var, 'y')
  formula2 <- reformulate('y', var)
  par(mfrow=c(1,2))
  tr = rpart(formula1, data = df)
  plot(tr, margin = .1, uniform = TRUE, main = title)
  text(tr, fancy = TRUE, use.n = TRUE)
  stripchart(formula2, main = title, data = df, method = "stack")
  boxplot(formula2, data = df)
}
于 2021-10-20T02:29:01.263 回答