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多简单的成分叠加起来的

而如果倒过来理解这句话,也可以这么说,看起来高深的东西,可能拆着拆着,就觉得其实也还好啦~~

到点去睡觉了,收工


分享到:


相關文章: