给定数据和变量名称:
seed = 1253
dat = data.frame(x = c(1:4, NA), y = rnorm(5), extra = rnorm(5))
var = "extra"
如果model.frame
中只指定了两个变量,我想创建一个包含所有三个变量的formula
。这可以通过扩展点来完成:
model.frame(y ~ x, dat, var = extra)
# y x (var)
# 1 1.0447865 1 1.4039139
# 2 1.8088280 2 -0.1656416
# 3 0.9614491 3 -0.8215288
# 4 -1.6359538 4 1.0751587
但是,我需要能够从字符串向model.frame
添加列。我的尝试:
model.frame(y ~ x, dat, var = var)
返回错误消息:
model.frame.default(y~x,dat,var = var)出错: 变量长度不同(找到'(var)')
如何从列名的字符串向量中向model.frame
添加其他变量?或者,是否可以使用model.response
中不存在的变量展开model.matrix
和formula
?