r - 在 update.formula 中使用函数参数

标签 r

我正在编写一个函数,该函数接受两个变量,并分别在一组控件上回归它们中的每一个,这些控件表示为单边公式。现在我正在使用以下内容来制作其中一个回归的公式,但感觉有点被黑了:

foo <- function(x, y, controls) {
    cl <- match.call()
    xn <- cl[["x"]]
    xf <- as.formula(paste(xn, deparse(controls)))
}

我更愿意使用 update.formula() 来做到这一点, 但当然 update.formula(controls, x ~ .)update.formula(controls, as.name(x) ~ .)不工作。我该怎么办?

最佳答案

这是一种方法:

right <- ~ a + b + c
left <- ~ y 
left_2 <- substitute(left ~ ., list(left = left[[2]]))

update(right, left_2)

但我认为您必须要么将文本字符串粘贴在一起,要么使用替代品。据我所知,没有函数可以从两个单边公式(或类似的等价物)创建一个单边公式。

关于r - 在 update.formula 中使用函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1213783/

相关文章:

ggplot2 中的圆角?

删除缺失值的列

R - 通过用序列的开始值和结束值替换连续值来生成总结整数向量的字符串

r - 每行的 data.table 函数太慢

R - 简洁地将向量添加到每个向量元素

r - 如何在 kable/formattable 表中打印 unicode 符号?

mysql - RMySQL 无法从 R 连接到服务器

javascript - 使用D3和Shiny在R中实现 `identify()`

反向过滤器/子集数据框

r - 根据每组的另一个查找表有条件地为一个数据框插入值?