R / lm:命名变量而不是公式?

R / lm: Named variables instead of formulas?

是否可以将非常基本的线性模型的元素作为变量而不是公式交给lm()函数? IE。而不是

lin_mod <- lm(Sepal.Length ~ Sepal.Width, data = iris) 

像这样:

lin_mod <- lm(x = Sepal.Width, y = Sepal.Length, data = iris)

背景:我知道我可以通过 paste() 将变量移交给公式,但是在函数内部处理多个变量移交时这会变得棘手。最后,我希望能够在lm()

中使用花括号变量切换

我们可以使用 reformulate 并在 lm

中传递它
lm(reformulate('Sepal.Width', response = 'Sepal.Length'), data = iris)
#Call:
#lm(formula = reformulate("Sepal.Width", response = "Sepal.Length"), 
    data = iris)

#Coefficients:
#(Intercept)  Sepal.Width  
#     6.5262      -0.2234