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 thatplm
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
andATM
are always the same? The model can't decide between those then.
– akraf
Nov 12 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 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 at 9:57
Can you make the data available to check why the Swamy/Arora model fails?
– Helix123
Nov 15 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 at 19:50
Harro Cyranka
1,1621513
1,1621513
asked Nov 12 at 19:40
PBhGU123
62
62
I cannot provide a thorough answer, because I'm still learning mixed/random models myself. The error means thatplm
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
andATM
are always the same? The model can't decide between those then.
– akraf
Nov 12 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 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 at 9:57
Can you make the data available to check why the Swamy/Arora model fails?
– Helix123
Nov 15 at 12:39
add a comment |
I cannot provide a thorough answer, because I'm still learning mixed/random models myself. The error means thatplm
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
andATM
are always the same? The model can't decide between those then.
– akraf
Nov 12 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 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 at 9:57
Can you make the data available to check why the Swamy/Arora model fails?
– Helix123
Nov 15 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 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 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 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 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 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 at 9:57
Can you make the data available to check why the Swamy/Arora model fails?
– Helix123
Nov 15 at 12:39
Can you make the data available to check why the Swamy/Arora model fails?
– Helix123
Nov 15 at 12:39
add a comment |
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
active
oldest
votes
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.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- 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
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
andATM
are always the same? The model can't decide between those then.– akraf
Nov 12 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 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 at 9:57
Can you make the data available to check why the Swamy/Arora model fails?
– Helix123
Nov 15 at 12:39