I am running multinominal logit model, following the steps in: https://cran.r-project.org/web/packages/mlogit/vignettes/c4.relaxiid.html
I am analyzing the choice made by firms among 35 alternatives. Each firm faces 35 alternatives and choose one. My data set is quite large, including 97176 observations. When I run standard mlogit (ml.FDI), it works but when I run heteroskedastic logit model (hl.FDI) it has the error " Error in if (abs(chi2) < tol) { : missing value where TRUE/FALSE needed" I check and there is no missing value. I also read some answers about similar error such as here: R mlogit() function: Error in if (abs(x - oldx) < ftol) { : missing value where TRUE/FALSE needed
However, I am not sure if my error is the same because my error is:"Error in if (abs(chi2) < tol)..." My other question is whether we always need dfidx to trasnform data before running mlogit.
I am beginner of R and really look forward to your help. Thank you in advance. My dataset looks like:
trimmed_data_sub2 <-
structure(
list(
firm_id = c(
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108582716,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870,
108594870
),
alt = c(
"Ninhbinh_province",
"Travinh_province",
"Vinhlong_province",
"Haiphong_city",
"Phutho_province",
"Hanoi_city",
"Thuathienhue_province",
"Longan_province",
"Nghean_province",
"Camau_province",
"Quangninh_province",
"Dongnai_province",
"Binhthuan_province",
"Tayninh_province",
"Namdinh_province",
"Quangngai_province",
"Thainguyen_province",
"Binhduong_province",
"Thanhhoa_province",
"Hungyen_province",
"Hanam_province",
"Haiduong_province",
"Hatinh_province",
"Tuyenquang_province",
"Danang_city",
"Haugiang_province",
"Baria-vungtau_province",
"Thaibinh_province",
"Vinhphuc_province",
"Bacninh_province",
"Backan_province",
"Quangnam_province",
"Hochiminh_city",
"Binhphuoc_province",
"Bacgiang_province",
"Longan_province",
"Bacgiang_province",
"Dongnai_province",
"Thuathienhue_province",
"Haugiang_province",
"Hungyen_province",
"Baria-vungtau_province",
"Quangninh_province",
"Danang_city",
"Hatinh_province",
"Thanhhoa_province",
"Binhduong_province",
"Bacninh_province",
"Hochiminh_city",
"Haiphong_city",
"Quangnam_province",
"Backan_province",
"Thainguyen_province",
"Hanam_province",
"Phutho_province",
"Vinhphuc_province",
"Vinhlong_province",
"Hanoi_city",
"Travinh_province",
"Ninhbinh_province",
"Quangngai_province",
"Tayninh_province",
"Thaibinh_province",
"Nghean_province",
"Haiduong_province",
"Namdinh_province",
"Binhthuan_province",
"Camau_province",
"Tuyenquang_province",
"Binhphuoc_province"
),
choice = c(
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
),
year_operation = c(
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019,
2019
),
sector = c(
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA",
"SA"
),
technology = c(
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low",
"Low"
),
logMAinside1 = c(
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178,
8.2224178
),
logMAoutside1 = c(
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506,
8.1201506
),
logSAinside1 = c(
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056,
7.7692056
),
logSAoutside1 = c(
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966,
7.8650966
),
logseaport3 = c(
4.8283138,
4.89784,
4.9126549,
1.4350846,
5.3082676,
4.8202815,
4.6249728,
4.0055132,
5.9506426,
5.7462034,
3.8501475,
3.4594662,
5.1704841,
4.7361984,
4.4875121,
4.9972124,
5.1817837,
3.5973122,
5.2522736,
4.5315237,
4.8520303,
3.8110971,
6.0776424,
5.556828,
2.587764,
5.3706379,
4.2297492,
4.2456341,
5.1239638,
4.5549288,
4.7361984,
4.383276,
2.6390574,
4.6634393,
4.5890408,
4.0055132,
4.5890408,
3.4594662,
4.6249728,
5.3706379,
4.5315237,
4.2297492,
3.8501475,
2.587764,
6.0776424,
5.2522736,
3.5973122,
4.5549288,
2.6390574,
1.4350846,
4.383276,
4.7361984,
5.1817837,
4.8520303,
5.3082676,
5.1239638,
4.9126549,
4.8202815,
4.89784,
4.8283138,
4.9972124,
4.7361984,
4.2456341,
5.9506426,
3.8110971,
4.4875121,
5.1704841,
5.7462034,
5.556828,
4.6634393
),
logpop = c(
6.5539336,
6.0980744,
6.5352411,
7.161622,
5.9839363,
7.7137847,
5.46806,
5.811141,
5.2574954,
5.4638319,
5.32301,
6.2653012,
5.0498562,
5.6347895,
7.0130157,
5.5093884,
5.8861041,
6.6883545,
5.768321,
7.1530519,
6.84375,
6.9874902,
5.3612924,
4.8903489,
6.7345915,
6.1717005,
6.331502,
7.029973,
6.7844572,
7.3238306,
4.2046928,
4.9558272,
8.3359108,
4.9558272,
6.0730443,
5.811141,
6.0730443,
6.2653012,
5.46806,
6.1717005,
7.1530519,
6.331502,
5.32301,
6.7345915,
5.3612924,
5.768321,
6.6883545,
7.3238306,
8.3359108,
7.161622,
4.9558272,
4.2046928,
5.8861041,
6.84375,
5.9839363,
6.7844572,
6.5352411,
7.7137847,
6.0980744,
6.5539336,
5.5093884,
5.6347895,
7.029973,
5.2574954,
6.9874902,
7.0130157,
5.0498562,
5.4638319,
4.8903489,
4.9558272
),
logopenness = c(
5.0262208,
3.1784184,
3.5308795,
5.5514636,
4.7599664,
4.702239,
4.2329168,
5.3210664,
3.3081558,
4.0027852,
4.2263217,
5.5089636,
3.8159115,
5.4272904,
4.6440415,
3.8801143,
6.7543707,
5.8385348,
4.5135665,
5.4823933,
5.30164,
5.6670299,
4.708425,
2.4108267,
4.3072119,
4.5786986,
4.4369946,
4.5747805,
5.3757849,
6.6909885,-1.7439516,
4.1683974,
5.0551434,
4.9517002,
5.6537271,
5.3210664,
5.6537271,
5.5089636,
4.2329168,
4.5786986,
5.4823933,
4.4369946,
4.2263217,
4.3072119,
4.708425,
4.5135665,
5.8385348,
6.6909885,
5.0551434,
5.5514636,
4.1683974,-1.7439516,
6.7543707,
5.30164,
4.7599664,
5.3757849,
3.5308795,
4.702239,
3.1784184,
5.0262208,
3.8801143,
5.4272904,
4.5747805,
3.3081558,
5.6670299,
4.6440415,
3.8159115,
4.0027852,
2.4108267,
4.9517002
),
logPCI = c(
4.1679049,
4.1463041,
4.2668962,
4.230186,
4.1826606,
4.2312036,
4.1972017,
4.2314944,
4.1993051,
4.1604443,
4.2959237,
4.186924,
4.1794515,
4.2054386,
4.1757708,
4.1640263,
4.2152338,
4.2103481,
4.184185,
4.1526136,
4.1754637,
4.1565366,
4.1814394,
4.1763854,
4.2506356,
4.161068,
4.2040954,
4.1802163,
4.2009544,
4.2597179,
4.139955,
4.2401752,
4.207078,
4.1305156,
4.1662002,
4.2314944,
4.1662002,
4.186924,
4.1972017,
4.161068,
4.1526136,
4.2040954,
4.2959237,
4.2506356,
4.1814394,
4.184185,
4.2103481,
4.2597179,
4.207078,
4.230186,
4.2401752,
4.139955,
4.2152338,
4.1754637,
4.1826606,
4.2009544,
4.2668962,
4.2312036,
4.1463041,
4.1679049,
4.1640263,
4.2054386,
4.1802163,
4.1993051,
4.1565366,
4.1757708,
4.1794515,
4.1604443,
4.1763854,
4.1305156
),
loglabour1 = c(
8.4269047,
8.3201513,
8.3074541,
8.6718111,
8.3564472,
8.7928076,
8.4286938,
8.5548258,
8.4670658,
8.4601631,
8.5880499,
8.7033844,
8.4163055,
8.4609327,
8.408637,
8.2813377,
8.5321655,
8.748374,
8.4074202,
8.5465651,
8.4499121,
8.5398359,
8.4387693,
8.4273024,
8.6929197,
8.3125973,
8.658803,
8.4356194,
8.5352049,
8.6938343,
8.4816732,
8.4344358,
8.859129,
8.5064116,
8.6129656,
8.5548258,
8.6129656,
8.7033844,
8.4286938,
8.3125973,
8.5465651,
8.658803,
8.5880499,
8.6929197,
8.4387693,
8.4074202,
8.748374,
8.6938343,
8.859129,
8.6718111,
8.4344358,
8.4816732,
8.5321655,
8.4499121,
8.3564472,
8.5352049,
8.3074541,
8.7928076,
8.3201513,
8.4269047,
8.2813377,
8.4609327,
8.4356194,
8.4670658,
8.5398359,
8.408637,
8.4163055,
8.4601631,
8.4273024,
8.5064116
),
loglabour2 = c(
-1.3032292,-1.5044585,
0.24194273,
0.61871445,
0.40313604,
1.9860474,
1.5840408,-1.7966279,
0.21781437,-0.80343562,
-0.7096265,-0.26014385,-1.052639,-2.1951094,
0.52529126,-0.36803037,
1.4018046,
0.57941169,-0.63426656,-2.7012603,-0.6586107,
0.12560239,
-1.3962854,-0.93453068,
2.2929618,-2.3867564,-0.3627651,
0.14673021,
1.1381592,-0.10424779,-2.3269727,-0.007220731,
1.6822493,
-2.2022393,-1.1601055,-1.7966279,-1.1601055,-0.26014385,
1.5840408,-2.3867564,-2.7012603,-0.3627651,-0.7096265,
2.2929618,
-1.3962854,-0.63426656,
0.57941169,-0.10424779,
1.6822493,
0.61871445,-0.007220731,-2.3269727,
1.4018046,-0.6586107,
0.40313604,
1.1381592,
0.24194273,
1.9860474,-1.5044585,-1.3032292,
-0.36803037,-2.1951094,
0.14673021,
0.21781437,
0.12560239,
0.52529126,-1.052639,-0.80343562,-0.93453068,-2.2022393
),
loglabour3 = c(
8.5716619,
8.5822763,
8.5671768,
8.9138956,
8.7382259,
9.1257057,
8.5623245,
8.8020086,
8.5572729,
8.75842,
9.0632677,
9.0895538,
8.5931168,
8.8453484,
8.5558758,
8.9127951,
9.0023937,
8.9690628,
8.4405375,
8.9107132,
8.7301798,
8.8397036,
8.6849604,
8.6335611,
8.8469181,
8.5612812,
9.0418806,
8.5892353,
8.9477854,
9.0587311,
8.6858816,
8.6177435,
9.1471338,
8.7598467,
8.8224411,
8.8020086,
8.8224411,
9.0895538,
8.5623245,
8.5612812,
8.9107132,
9.0418806,
9.0632677,
8.8469181,
8.6849604,
8.4405375,
8.9690628,
9.0587311,
9.1471338,
8.9138956,
8.6177435,
8.6858816,
9.0023937,
8.7301798,
8.7382259,
8.9477854,
8.5671768,
9.1257057,
8.5822763,
8.5716619,
8.9127951,
8.8453484,
8.5892353,
8.5572729,
8.8397036,
8.5558758,
8.5931168,
8.75842,
8.6335611,
8.7598467
),
loglabour4 = c(
4.0981388,
4.025712,
4.0569224,
4.0345945,
4.1008277,
3.9898756,
3.9675186,
4.204318,
4.1024103,
4.024951,
4.0606198,
4.0464692,
4.0674639,
4.0897164,
4.0312428,
4.0718594,
4.1024852,
4.2794919,
4.1518111,
4.1007166,
4.1000609,
4.0786386,
4.0135407,
4.1207833,
4.0190663,
4.0609179,
4.0040684,
4.1356573,
4.0555511,
4.0984778,
4.190052,
4.074995,
3.9979038,
4.0961123,
4.1638103,
4.204318,
4.1638103,
4.0464692,
3.9675186,
4.0609179,
4.1007166,
4.0040684,
4.0606198,
4.0190663,
4.0135407,
4.1518111,
4.2794919,
4.0984778,
3.9979038,
4.0345945,
4.074995,
4.190052,
4.1024852,
4.1000609,
4.1008277,
4.0555511,
4.0569224,
3.9898756,
4.025712,
4.0981388,
4.0718594,
4.0897164,
4.1356573,
4.1024103,
4.0786386,
4.0312428,
4.0674639,
4.024951,
4.1207833,
4.0961123
),
logunem1 = c(
4.3820267,
5.7037826,
5.480639,
5.857933,
5.2470241,
5.2983174,
6.0867748,
5.4380794,
4.8675346,
5.521461,
5.768321,
5.5606818,
5.6698809,
5.0106354,
5.0106354,
5.2983174,
4.7874918,
5.3936276,
5.1357985,
4.7004805,
5.2470241,
5.5984221,
6.1944056,
4.8675346,
6.0637851,
5.5984221,
5.4380794,
4.9416423,
5.1357985,
5.3471074,
4.3820267,
5.7365723,
5.6698809,
5.7037826,
4.7004805,
5.4380794,
4.7004805,
5.5606818,
6.0867748,
5.5984221,
4.7004805,
5.4380794,
5.768321,
6.0637851,
6.1944056,
5.1357985,
5.3936276,
5.3471074,
5.6698809,
5.857933,
5.7365723,
4.3820267,
4.7874918,
5.2470241,
5.2470241,
5.1357985,
5.480639,
5.2983174,
5.7037826,
4.3820267,
5.2983174,
5.0106354,
4.9416423,
4.8675346,
5.5984221,
5.0106354,
5.6698809,
5.521461,
4.8675346,
5.7037826
),
logroad = c(
6.6024523,
5.0807829,
5.0434251,
8.8258247,
6.5759125,
8.9816189,
6.6368647,
4.8805265,
7.4716477,
4.0638852,
6.772737,
8.1171637,
6.2517114,
6.9940248,
6.6065149,
7.3781962,
6.9119463,
7.727623,
7.4472265,
6.6843619,
6.5839624,
7.1206059,
6.7319722,
6.8847938,
7.984633,
3.3945084,
5.8766146,
4.9794884,
6.8573036,
6.4385514,
3.246491,
6.8694301,
9.1673594,
5.3494859,
6.5704627,
4.8805265,
6.5704627,
8.1171637,
6.6368647,
3.3945084,
6.6843619,
5.8766146,
6.772737,
7.984633,
6.7319722,
7.4472265,
7.727623,
6.4385514,
9.1673594,
8.8258247,
6.8694301,
3.246491,
6.9119463,
6.5839624,
6.5759125,
6.8573036,
5.0434251,
8.9816189,
5.0807829,
6.6024523,
7.3781962,
6.9940248,
4.9794884,
7.4716477,
7.1206059,
6.6065149,
6.2517114,
4.0638852,
6.8847938,
5.3494859
)
),
row.names = c(NA, -70L),
class = c("tbl_df", "tbl", "data.frame")
)
```
Here are my codes:
`library(mlogit)
FDI <- dfidx(trimmed_data)
ml.FDI <- mlogit(choice ~ logPCI + logopenness + loglabour3 + logseaport3 +logunem1|logMAinside1 + logMAoutside1 + logSAinside1 + logSAoutside1,FDI , reflevel = "Hanoi_city")
summary(ml.FDI)
hl.FDI <- mlogit(choice ~ logPCI + logopenness + loglabour3 + logseaport3 +logunem1|logMAinside1 + logMAoutside1 + logSAinside1 + logSAoutside1,FDI , reflevel = "Hanoi_city", heterosc = TRUE)
``