2015-03-20 23 views
7

In R vi è una buona funzionalità per l'esecuzione di una regressione con variabili dummy per ogni livello di una variabile categoriale. per esempio. Automatically expanding an R factor into a collection of 1/0 indicator variables for every factor levelVariabili fittizie in Julia

C'è un modo equivalente per farlo in 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) 

risposta

4

Se si utilizza il pacchetto DataFrames, dopo aver pool i dati, il pacchetto si prenderà cura di tutto il resto:

colonne Pooling è importante per lavorare con il pacchetto GLM Quando modelli di regressione di montaggio Le colonne PooledDataArray nell'input vengono convertite in colonne dell'indicatore 0/1 in ModelMatrix, con una colonna per ciascuno dei livelli di PooledDataArray.

Potete vedere il resto della documentazione su dati aggregati here

+0

btw, ciò che deve accadere con la struttura dati aggregati: 'pool (dati, [: g]!); lm (y ~ x + g, data) ' –