簡體   English   中英

在R中,lm函數中的公式如何工作?

[英]In R, how does the formula in the lm function work?

我剛剛開始使用R。線性回歸的示例如下所示:

lm(y ~ x1 + x2 + x3, data)

似乎傳遞給lm函數的公式可以包含不在范圍內的變量名。 這是如何運作的? R如何解釋公式?

我已經嘗試閱讀lm的源代碼,但沒有任何意義。

當您傳遞公式和data =參數時,lm將首先嘗試解析提供的data.frame中的變量名稱。 因此y,x1,x2和x3應該是數據中的列名。 如果在data.frame中找不到,則在當前環境中搜索它們。

#example
x9<-runif(15)
data=data.frame(x1=runif(15), x2=rnorm(15))
data<-transform(data, y=3*x1-2*x9-2+rnorm(15))

#here y,x1,x2 are resolved within data, and x9 comes form the current env
lm(y~x1+x2+x9, data)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM