R plm singular matrix issue
First question on the site. I have been following Princeton's plm package guide and have everything done (without errors). However, I am stuck in the last step of estimating a "random" effects model. I think my data fits a random model well, so this is a big issue. I cannot understand why the fixed specification works but random does not. Here is the error I get:
Error in solve.default(M[therows, therows], quad[therows]) : Lapack routine dgesv: system is exactly singular: U[2,2] = 0
Any help on this would be really useful!
Here is my code:
random <- plm(Reserves ~ Corruption +
RuleofLaw +
BankingRisk +
GDPPC + Electricity +
Mobile + ATM + SchoolEnrollment + Savings +
Population + NumberPOS + POSper,
data=paneldata,
index=c("Country", "Year"), model="random")
summary (random)
All of my variables are general format in csv.
r plm
add a comment |
First question on the site. I have been following Princeton's plm package guide and have everything done (without errors). However, I am stuck in the last step of estimating a "random" effects model. I think my data fits a random model well, so this is a big issue. I cannot understand why the fixed specification works but random does not. Here is the error I get:
Error in solve.default(M[therows, therows], quad[therows]) : Lapack routine dgesv: system is exactly singular: U[2,2] = 0
Any help on this would be really useful!
Here is my code:
random <- plm(Reserves ~ Corruption +
RuleofLaw +
BankingRisk +
GDPPC + Electricity +
Mobile + ATM + SchoolEnrollment + Savings +
Population + NumberPOS + POSper,
data=paneldata,
index=c("Country", "Year"), model="random")
summary (random)
All of my variables are general format in csv.
r plm
I cannot provide a thorough answer, because I'm still learning mixed/random models myself. The error means thatplmcannot invert a matrix which is designed to depict the covariances between or within your random effects. You'll need to dive into the theory of random models to understand why. In my practice, if this error occurs it may mean that your model is overspecified, so your data is not enough to estimate all the effects you wrote in your formula. For example, what if two of your observables, e.g.ElectricityandATMare always the same? The model can't decide between those then.
– akraf
Nov 12 '18 at 21:36
I actually just figured out the solution to it. In my case, all the independent variables are unique, so it was tougher. The default for plm under model = random is that random.model is always "swar". If you are to replace that with "walhus" it fixes the issue. Walhus is more tolerate of smaller values (I have a lot of variables that are second of third digit of zeros)
– PBhGU123
Nov 12 '18 at 22:05
You can post this as an answer to your own question and accept your own answer after some time, this marks this case as done on the site.
– akraf
Nov 13 '18 at 9:57
Can you make the data available to check why the Swamy/Arora model fails?
– Helix123
Nov 15 '18 at 12:39
add a comment |
First question on the site. I have been following Princeton's plm package guide and have everything done (without errors). However, I am stuck in the last step of estimating a "random" effects model. I think my data fits a random model well, so this is a big issue. I cannot understand why the fixed specification works but random does not. Here is the error I get:
Error in solve.default(M[therows, therows], quad[therows]) : Lapack routine dgesv: system is exactly singular: U[2,2] = 0
Any help on this would be really useful!
Here is my code:
random <- plm(Reserves ~ Corruption +
RuleofLaw +
BankingRisk +
GDPPC + Electricity +
Mobile + ATM + SchoolEnrollment + Savings +
Population + NumberPOS + POSper,
data=paneldata,
index=c("Country", "Year"), model="random")
summary (random)
All of my variables are general format in csv.
r plm
First question on the site. I have been following Princeton's plm package guide and have everything done (without errors). However, I am stuck in the last step of estimating a "random" effects model. I think my data fits a random model well, so this is a big issue. I cannot understand why the fixed specification works but random does not. Here is the error I get:
Error in solve.default(M[therows, therows], quad[therows]) : Lapack routine dgesv: system is exactly singular: U[2,2] = 0
Any help on this would be really useful!
Here is my code:
random <- plm(Reserves ~ Corruption +
RuleofLaw +
BankingRisk +
GDPPC + Electricity +
Mobile + ATM + SchoolEnrollment + Savings +
Population + NumberPOS + POSper,
data=paneldata,
index=c("Country", "Year"), model="random")
summary (random)
All of my variables are general format in csv.
r plm
r plm
edited Nov 12 '18 at 19:50
Harro Cyranka
1,2711613
1,2711613
asked Nov 12 '18 at 19:40
PBhGU123PBhGU123
62
62
I cannot provide a thorough answer, because I'm still learning mixed/random models myself. The error means thatplmcannot invert a matrix which is designed to depict the covariances between or within your random effects. You'll need to dive into the theory of random models to understand why. In my practice, if this error occurs it may mean that your model is overspecified, so your data is not enough to estimate all the effects you wrote in your formula. For example, what if two of your observables, e.g.ElectricityandATMare always the same? The model can't decide between those then.
– akraf
Nov 12 '18 at 21:36
I actually just figured out the solution to it. In my case, all the independent variables are unique, so it was tougher. The default for plm under model = random is that random.model is always "swar". If you are to replace that with "walhus" it fixes the issue. Walhus is more tolerate of smaller values (I have a lot of variables that are second of third digit of zeros)
– PBhGU123
Nov 12 '18 at 22:05
You can post this as an answer to your own question and accept your own answer after some time, this marks this case as done on the site.
– akraf
Nov 13 '18 at 9:57
Can you make the data available to check why the Swamy/Arora model fails?
– Helix123
Nov 15 '18 at 12:39
add a comment |
I cannot provide a thorough answer, because I'm still learning mixed/random models myself. The error means thatplmcannot invert a matrix which is designed to depict the covariances between or within your random effects. You'll need to dive into the theory of random models to understand why. In my practice, if this error occurs it may mean that your model is overspecified, so your data is not enough to estimate all the effects you wrote in your formula. For example, what if two of your observables, e.g.ElectricityandATMare always the same? The model can't decide between those then.
– akraf
Nov 12 '18 at 21:36
I actually just figured out the solution to it. In my case, all the independent variables are unique, so it was tougher. The default for plm under model = random is that random.model is always "swar". If you are to replace that with "walhus" it fixes the issue. Walhus is more tolerate of smaller values (I have a lot of variables that are second of third digit of zeros)
– PBhGU123
Nov 12 '18 at 22:05
You can post this as an answer to your own question and accept your own answer after some time, this marks this case as done on the site.
– akraf
Nov 13 '18 at 9:57
Can you make the data available to check why the Swamy/Arora model fails?
– Helix123
Nov 15 '18 at 12:39
I cannot provide a thorough answer, because I'm still learning mixed/random models myself. The error means that
plm cannot invert a matrix which is designed to depict the covariances between or within your random effects. You'll need to dive into the theory of random models to understand why. In my practice, if this error occurs it may mean that your model is overspecified, so your data is not enough to estimate all the effects you wrote in your formula. For example, what if two of your observables, e.g. Electricity and ATM are always the same? The model can't decide between those then.– akraf
Nov 12 '18 at 21:36
I cannot provide a thorough answer, because I'm still learning mixed/random models myself. The error means that
plm cannot invert a matrix which is designed to depict the covariances between or within your random effects. You'll need to dive into the theory of random models to understand why. In my practice, if this error occurs it may mean that your model is overspecified, so your data is not enough to estimate all the effects you wrote in your formula. For example, what if two of your observables, e.g. Electricity and ATM are always the same? The model can't decide between those then.– akraf
Nov 12 '18 at 21:36
I actually just figured out the solution to it. In my case, all the independent variables are unique, so it was tougher. The default for plm under model = random is that random.model is always "swar". If you are to replace that with "walhus" it fixes the issue. Walhus is more tolerate of smaller values (I have a lot of variables that are second of third digit of zeros)
– PBhGU123
Nov 12 '18 at 22:05
I actually just figured out the solution to it. In my case, all the independent variables are unique, so it was tougher. The default for plm under model = random is that random.model is always "swar". If you are to replace that with "walhus" it fixes the issue. Walhus is more tolerate of smaller values (I have a lot of variables that are second of third digit of zeros)
– PBhGU123
Nov 12 '18 at 22:05
You can post this as an answer to your own question and accept your own answer after some time, this marks this case as done on the site.
– akraf
Nov 13 '18 at 9:57
You can post this as an answer to your own question and accept your own answer after some time, this marks this case as done on the site.
– akraf
Nov 13 '18 at 9:57
Can you make the data available to check why the Swamy/Arora model fails?
– Helix123
Nov 15 '18 at 12:39
Can you make the data available to check why the Swamy/Arora model fails?
– Helix123
Nov 15 '18 at 12:39
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53268997%2fr-plm-singular-matrix-issue%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53268997%2fr-plm-singular-matrix-issue%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
I cannot provide a thorough answer, because I'm still learning mixed/random models myself. The error means that
plmcannot invert a matrix which is designed to depict the covariances between or within your random effects. You'll need to dive into the theory of random models to understand why. In my practice, if this error occurs it may mean that your model is overspecified, so your data is not enough to estimate all the effects you wrote in your formula. For example, what if two of your observables, e.g.ElectricityandATMare always the same? The model can't decide between those then.– akraf
Nov 12 '18 at 21:36
I actually just figured out the solution to it. In my case, all the independent variables are unique, so it was tougher. The default for plm under model = random is that random.model is always "swar". If you are to replace that with "walhus" it fixes the issue. Walhus is more tolerate of smaller values (I have a lot of variables that are second of third digit of zeros)
– PBhGU123
Nov 12 '18 at 22:05
You can post this as an answer to your own question and accept your own answer after some time, this marks this case as done on the site.
– akraf
Nov 13 '18 at 9:57
Can you make the data available to check why the Swamy/Arora model fails?
– Helix123
Nov 15 '18 at 12:39