R語言——公式還原到源數據

開始得太晚,被(zhu)迫(dong)簡潔

不知道有沒有跟本人一樣的好奇寶寶,覺得很不能理解為啥很多R軟件中的建模函數都能用公式接口,一個公式怎麼就能表示出這個表格的信息呢?

在拆分查看lm函數的過程,我找到了一個東東,才發現所謂的公式輸入,喵的都是騙人滴~~~~

其實,使用公式接口來輸入數據的模型,在開始計算之前,用了一個函數,把公式接口還原成了一個從源數據提取出所需向量的正兒八經的矩陣,在function內部存了個數據源的copy,這才有了看起來拽拽滴公式應用

R語言——公式還原到源數據

而這個頗有欺騙性的函數,叫做model.frame

先截個lm函數里的圖,做個證明:

R語言——公式還原到源數據

給親們做個簡單的實踐:

先隨便輸入點數據,建個數據幀

Test

R語言——公式還原到源數據

然後,咱用model.frame輸入一個Test表的公式

MF1

R語言——公式還原到源數據

看到木有,數據不但全都提取出來了,而且附加了formula和terms的信息,所以我們才會在lm建模後看到裡頭有這麼多雜七雜八的東西

而且重要的是,model.frame不僅提取出來了數據,還額外保留了一個分界線,那就是自變量x和因變量y的區分,當使用配套函數model.response的時候,可以單獨拎出其中的y列

model.response(MF1)

R語言——公式還原到源數據

所以說,好些複雜的東西,其實是由N多簡單的成分疊加起來的

而如果倒過來理解這句話,也可以這麼說,看起來高深的東西,可能拆著拆著,就覺得其實也還好啦~~

到點去睡覺了,收工


分享到:


相關文章: