2015-03-20 15 views
7

W R istnieje dobra funkcjonalność do uruchamiania regresji ze zmiennymi atypowymi dla każdego poziomu zmiennej kategorialnej. na przykład Automatically expanding an R factor into a collection of 1/0 indicator variables for every factor levelZmienne manekina w Julii

Czy istnieje równoważny sposób, aby to zrobić w 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) 

Odpowiedz

4

Jeśli używasz pakietu DataFrames, Po pool danych, pakiet zajmie się resztą:

kolumny poolingu jest ważne dla pracy z pakietem GLM Przy zakładaniu modele regresji Kolumny PooledDataArray w danych wejściowych są przekształcane na kolumny wskaźników 0/1 w ModelMatrix - z jedną kolumną dla każdego z poziomów obiektu PooledDataArray.

Można zobaczyć resztę dokumentacji na danych zebranych here

+0

btw, co musi się zdarzyć ze zbiorczej ramce danych: 'pool (dane [G]!); lm (y ~ x + g, dane) ' –