在R4.0.0及更高版本下使用矢量动态更新公式

在R4.0.0及更高版本下使用矢量动态更新公式,r,R,我想用R4.0.0或更高版本下的向量动态更新公式。因此,在这个链接下,一切都是一样的——但是x现在是一个向量,R版本>=4.0。 简而言之,我有一个公式,例如y~1,并希望通过字符标量myvar1或字符向量myvar2来更新它。 对于字符向量和R版本>=4.0.0,对于字符向量,建议的解决方案失败。在4.0.0的发行说明中,这是一个bug修复。该注释指出,“长度(x)>1个字符向量的公式(x)现在已被弃用。此类使用非常罕见,仅在某些情况下“有效”。在其他情况下,错误的x被自动截断,未检测到以前的

我想用R4.0.0或更高版本下的向量动态更新公式。因此,在这个链接下,一切都是一样的——但是x现在是一个向量,R版本>=4.0。 简而言之,我有一个公式,例如y~1,并希望通过字符标量myvar1或字符向量myvar2来更新它。 对于字符向量和R版本>=4.0.0,对于字符向量,建议的解决方案失败。在4.0.0的发行说明中,这是一个bug修复。该注释指出,“长度(x)>1个字符向量的公式(x)现在已被弃用。此类使用非常罕见,仅在某些情况下“有效”。在其他情况下,错误的x被自动截断,未检测到以前的错误。”()


myvar1现在需要做的是操作字符串,以便获得:
“~.+x1+x2”

myvar2您会考虑

reformulate(myvar1, response="y")
可以接受的替代品?(它不能做完全相同的事情,但可能会起作用。)

您还可以将更新参数设置为公式

update(y~1, reformulate(c(".",myvar1)))
reformulate(myvar1, response="y")
update(y~1, reformulate(c(".",myvar1)))