我正在尝试创建通用函数以处理具有多个可信值的数据框。我想要的是将公式传递给函数以执行回归,例如:
f <- MRPCM ~ DSEX + IEP + ELL3 + SDRACEM + PARED
在数据框中实际上不存在MRPCM变量。相反,存在五个变量,即MRPCM1、MRPCM2、MRPCM3、MRPCM4和MRPCM5。我想做的是迭代并更新公式(这里是f)以创建五个公式。这可以完成吗?update.formula函数似乎只能一次在整个左侧或右侧上工作。我还应该指出,在此示例中,我希望更改的变量是因变量,因此update(f, MRPCM1 ~ .)有效。但是,我不知道变量在公式中出现的位置。
例如:
f <- MRPCM + DSEX ~ IEP + ELL3 + SDRACEM + PARED update.formula(f, as.formula('MRPCM1 ~ .'))
结果如下(请注意,DSEX现在已经消失了):
MRPCM1 ~ IEP + ELL3 + SDRACEM + PARED
f <- MRPCM ~ DSEX + IEP + ELL3 + SDRACEM + PARED
在数据框中实际上不存在MRPCM变量。相反,存在五个变量,即MRPCM1、MRPCM2、MRPCM3、MRPCM4和MRPCM5。我想做的是迭代并更新公式(这里是f)以创建五个公式。这可以完成吗?update.formula函数似乎只能一次在整个左侧或右侧上工作。我还应该指出,在此示例中,我希望更改的变量是因变量,因此update(f, MRPCM1 ~ .)有效。但是,我不知道变量在公式中出现的位置。
例如:
f <- MRPCM + DSEX ~ IEP + ELL3 + SDRACEM + PARED update.formula(f, as.formula('MRPCM1 ~ .'))
结果如下(请注意,DSEX现在已经消失了):
MRPCM1 ~ IEP + ELL3 + SDRACEM + PARED
?as.formula
下的示例,将字符串粘贴在一起并将其转换为公式。理论上,这可能会实现您想要的效果 - 让您的问题变得可重现,我们将确保它是否有效。 - Chase