【发布时间】:2022-11-28 18:06:51
【问题描述】:
假设我们有一个公式
f1 <- y ~ x1
并且我们需要使用将作为参数x2 的函数向其添加协变量sin(2*pi*x2)。
当然,这有效:update(f1, . ~ . + sin(2 * pi * x2) 但我需要一个像这样的功能
updf <- function(formula, x){
formula <- update(formula, paste("~ . +", sin(2 * pi * x)))
formula}
调用updf(f1,"x2") 将返回:y ~ x1 + sin(2 * pi * x2)。此调用返回“2 * pi * x 中的错误:二元运算符的非数字参数”。
如何解决这个问题?
【问题讨论】:
-
如果“x”是一个带有变量名称的字符串:
formula <- update(formula, paste("~ . + sin(2 * pi * ", x, ")"))应该可以解决问题。 -
@Oliver 是的,它确实可以解决问题。谢谢你。