【发布时间】:2021-01-01 14:23:49
【问题描述】:
我想用 R 4.0.0 或更高版本的向量动态更新公式。因此,一切都与此链接下的相同 - R: Dynamically update formula - 但 x 现在是一个向量,R 版本 >= 4.0。 简而言之,我有一个公式,例如y ~ 1,并希望通过字符标量 myvar1 或字符向量 myvar2 对其进行更新。 对于字符向量和 R 版本 >= 4.0.0,建议的解决方案对于字符向量失败。在 4.0.0 的发行说明中,这被称为错误修复。该说明指出“长度(x)> 1 字符向量的公式(x)现在已弃用。这种使用很少见,并且仅在某些情况下按预期“工作”。在其他情况下,错误的 x 一直默默无闻截断,未检测到以前的错误。” (https://cran.r-project.org/doc/manuals/r-patched/NEWS.html)
myvar1 <- "x1"
myvar2 <- c("x1", "x2")
update(y ~ 1 , paste(" ~ . +", myvar1))
# y ~ x1
update(y ~ 1 , paste(" ~ . +", myvar2))
# y ~ x1
# Warning message:
# Using formula(x) is deprecated when x is a character vector of length > 1.
Consider formula(paste(x, collapse = " ")) instead.
那么,在 R 4.0.0 及更高版本中,如何使用字符向量更新公式?
【问题讨论】:
标签: r