2025-11-18 03:00:02
R算公式主要是把自变量和因变量用波浪线~隔开,然后后面的变量用加减号拆开。比如lm(mpg~ cylinders+origin, data=mtcars)里,左边的 mpg是因变量,右边的 cylinders和origin是自变量,加号表示同时分析这两个自变量。拆分方式跟Excel里用逗号分隔参数类似,但用波浪线开头,要跟数据框名。
为什么这样算呢?比如用mtcars数据算油耗和排量、产地的关系,公式拆成cylinders+origin,R会自动把排量(4/6/8缸)和产地(美/欧/日)都当作分类变量。实际算的时候,R会把每个分类变量转成虚拟变量,比如排量转成三个0和1的列,产地也转成三个列。这样总共6个自变量(排量3个+产地3个),回归结果会显示每个虚拟变量对油耗的影响。比如排量6缸比4缸油耗高1.5L,产地欧洲比美国高0.8L。数据证明这样拆分是对的,因为原数据里排量和产地都是字符型,必须拆成虚拟变量才能计算。
本题链接: