В качестве упрощенного примера, скажем, у вас есть следующие данные:
n <- 10
df <- data.frame(x1 = rnorm(n, 3, 1), x2 = rnorm(n, 0, 1))
И вы хотите создать матрицу модели следующего вида:
model.matrix(~ df$x1 + df$x2)
или более предпочтительно:
model.matrix(~ x1 + x2, data = df)
, но вместо этого, вставив формулу в model.matrix
.Я экспериментировал со следующим, но сталкивался с ошибками со всеми из них:
form1 <- "df$x1 + df$x2"
model.matrix(~ as.formula(form1))
model.matrix(~ eval(parse(text = form1)))
model.matrix(~ paste(form1))
model.matrix(~ form1)
Я также пробовал то же самое с более предпочтительной структурой:
form2 <- "x1 + x2, data = df"
Есть ли прямое решениек этой проблеме?Или функция model.matrix
не способствует этому подходу?