I have a conjoint survey data in long format. the first few rows look like this:
ID alt choice size tar length brand flavor gender age yr_smoke num_smoke job
1 1 1 no 1 1 1 1 1 2 35 10 20 1
2 1 2 no 1 1 1 1 1 2 35 10 20 1
3 1 3 no 1 1 1 1 1 2 35 10 20 1
4 1 4 no 1 1 1 1 1 2 35 10 20 1
5 1 5 no 1 1 1 1 1 2 35 10 20 1
6 1 6 no 1 1 1 1 1 2 35 10 20 1
I used mlogit.data as:
data_mlogit_ct1_test2 <- mlogit.data(data_mlogit_ct1_test1,choice="choice",
shape="long",alt.var="alt")
The first few rows of the transformed data looks like:
ID alt choice size tar length brand flavor gender age yr_smoke num_smoke job
1.1 1 1 FALSE 1 1 1 1 1 2 35 10 20 1
1.2 1 2 FALSE 1 1 1 1 1 2 35 10 20 1
1.3 1 3 FALSE 1 1 1 1 1 2 35 10 20 1
1.4 1 4 FALSE 1 1 1 1 1 2 35 10 20 1
1.5 1 5 FALSE 1 1 1 1 1 2 35 10 20 1
1.6 1 6 FALSE 1 1 1 1 1 2 35 10 20 1
Now I am trying to fit mlogit as:
fit_mlogit_ct11 <- mlogit(choice~size+tar+length+brand+flavor,
data_mlogit_ct1_test1,shape="long",chid.var="ID",
alt.var="alt",method="bfgs",heterosc=TRUE,tol=10)
I got this error:
Error in solve.default(crossprod(attr(x, "gradi")[, !fixed])) : Lapack routine dgesv: system is exactly singular
Then I did:
fit_mlogit_ct11 <- mlogit(choice~size+tar+length+brand+flavor, data_mlogit_ct1_test2)
Now I got:
Error in solve.default(H, g[!fixed]) : system is computationally singular: reciprocal condition number = 3.4767e-18
Can somebody please help me?
I think the problem is because you did not define right your individual specific variables. According to the package manual, when you build your models with mlogit function you can use : | to separate the alternative specific with individual specific variables. For example:
fit_mlogit_ct11 <- mlogit(choice~1|size+tar+length+brand+flavor,
data_mlogit_ct1_test1,shape="long",chid.var="ID",
alt.var="alt",method="bfgs",heterosc=TRUE,tol=10)
Which simply says that all your variables are individual specific and your take only the intercept for the alternative specific. But indeed as it has already mentioned above your data look odd since they look the same, since you have only individual specific variables. This leads eventually to singularity (your variables correlate with each other with 1).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With