朱莉娅的虚拟变量

时间:2015-03-20 02:56:00

标签: dataframe julia glm

在R中,有一个很好的功能,可以为分类变量的每个级别运行带有虚拟变量的回归。例如Automatically expanding an R factor into a collection of 1/0 indicator variables for every factor level

在Julia中是否有相同的方法可以做到这一点。

x = randn(1000)
group = repmat(1:25 , 40)
groupMeans = randn(25)
y = 3*x + groupMeans[group]

data = DataFrame(x=x, y=y, g=group)
for i in levels(group)
    data[parse("I$i")] = data[:g] .== i
end
lm(y~x+I1+I2+I3+I4+I5+I6+I7+I8+I9+I10+
    I11+I12+I13+I14+I15+I16+I17+I18+I19+I20+
    I21+I22+I23+I24, data)

1 个答案:

答案 0 :(得分:4)

如果您使用的是DataFrames软件包,在pool数据之后,软件包将负责其余的工作:

  

汇集列对于使用GLM包非常重要在拟合回归模型时,输入中的PooledDataArray列将转换为ModelMatrix中的0/1指示符列 - PooledDataArray的每个级别都有一列。

您可以查看有关合并数据here

的其他文档