在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)
答案 0 :(得分:4)
如果您使用的是DataFrames软件包,在pool
数据之后,软件包将负责其余的工作:
汇集列对于使用GLM包非常重要在拟合回归模型时,输入中的PooledDataArray列将转换为ModelMatrix中的0/1指示符列 - PooledDataArray的每个级别都有一列。
您可以查看有关合并数据here
的其他文档