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

问题描述 投票:0回答:1

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

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

类似这样:

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

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

中使用大括号变量切换
r lm
1个回答
1
投票

我们可以使用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  
© www.soinside.com 2019 - 2024. All rights reserved.