Re: [R] pglm package: fitted values and residuals
On Wed, Apr 24, 2013 at 4:37 PM, Achim Zeileis achim.zeil...@uibk.ac.at wrote: On Wed, 24 Apr 2013, Paul Johnson wrote: On Wed, Apr 24, 2013 at 3:11 AM, alfonso.carf...@uniparthenope.it wrote: I'm using the package pglm and I'have estimated a random probit model. I need to save in a vector the fitted values and the residuals of the model but I can not do it. I tried with the command fitted.values using the following procedure without results: This is one of those ask the pglm authors questions. You should take it up with the authors of the package. There is a specialized email list R-sig-mixed where you will find more people working on this exact same thing. pglm looks like fun to me, but it is not quite done, so far as I can tell. I'm sure that there are many. One of my attempts to write up a list is in Table 1 of vignette(betareg, package = betareg). Yes! That's exactly the list I was thinking of. It was driving me crazy I could not find it. Thanks for the explanation. I don't think I should have implied that the pglm author must actually implement all the methods, it is certainly acceptable to leverage the methods that exist. It just happened that the ones I tested were not implemented by any of the affiliated packages. But this thread leads me to one question I've wondered about recently. Suppose I run somebody's regression function and out comes an object. Do we have a way to ask that object what are all of the methods that might apply to you? Here's why I wondered. You've noticed that predict.lm has the interval=confidence argument, but predict.glm does not. So if I receive a regression model, I'd like to say to it do you have a predict method and if I could get that predict method, I could check to see if there is a formal argument interval. If it does not, maybe I'd craft one for them. pj Personally, I don't write anova() methods for my model objects because I can leverage lrtest() and waldtest() from lmtest and linearHypothesis() and deltaMethod() from car as long as certain standard methods are available, including coef(), vcov(), logLik(), etc. Similarly, an AIC() method is typically not needed as long as logLik() is available. And BIC() works if nobs() is available in addition. Best, Z pj library(pglm) m1_S-pglm(Feed ~ Cons_PC_1 + imp_gen_1 + LGDP_PC_1 + lnEI_1 + SH_Ren_1,data,family=binomial(probit),model=random,method=bfgs,index=c(Year,IDCountry)) m1_S$fitted.values residuals(m1) Can someone help me about it? Thanks __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. -- Paul E. Johnson Professor, Political Science Assoc. Director 1541 Lilac Lane, Room 504 Center for Research Methods University of Kansas University of Kansas http://pj.freefaculty.org http://quant.ku.edu __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] pglm package: fitted values and residuals
On Thu, Apr 25, 2013 at 3:14 PM, Paul Johnson pauljoh...@gmail.com wrote: On Wed, Apr 24, 2013 at 4:37 PM, Achim Zeileis achim.zeil...@uibk.ac.at wrote: On Wed, 24 Apr 2013, Paul Johnson wrote: On Wed, Apr 24, 2013 at 3:11 AM, alfonso.carf...@uniparthenope.it wrote: I'm using the package pglm and I'have estimated a random probit model. I need to save in a vector the fitted values and the residuals of the model but I can not do it. I tried with the command fitted.values using the following procedure without results: This is one of those ask the pglm authors questions. You should take it up with the authors of the package. There is a specialized email list R-sig-mixed where you will find more people working on this exact same thing. pglm looks like fun to me, but it is not quite done, so far as I can tell. I'm sure that there are many. One of my attempts to write up a list is in Table 1 of vignette(betareg, package = betareg). Yes! That's exactly the list I was thinking of. It was driving me crazy I could not find it. Thanks for the explanation. I don't think I should have implied that the pglm author must actually implement all the methods, it is certainly acceptable to leverage the methods that exist. It just happened that the ones I tested were not implemented by any of the affiliated packages. But this thread leads me to one question I've wondered about recently. Suppose I run somebody's regression function and out comes an object. Do we have a way to ask that object what are all of the methods that might apply to you? Yes, minus the might: library(pglm) example(pglm) # produces an object named la sapply(class(la), function(x) methods(class=x)) # lists functions with methods for objects of this class Best, Ista Here's why I wondered. You've noticed that predict.lm has the interval=confidence argument, but predict.glm does not. So if I receive a regression model, I'd like to say to it do you have a predict method and if I could get that predict method, I could check to see if there is a formal argument interval. If it does not, maybe I'd craft one for them. pj Personally, I don't write anova() methods for my model objects because I can leverage lrtest() and waldtest() from lmtest and linearHypothesis() and deltaMethod() from car as long as certain standard methods are available, including coef(), vcov(), logLik(), etc. Similarly, an AIC() method is typically not needed as long as logLik() is available. And BIC() works if nobs() is available in addition. Best, Z pj library(pglm) m1_S-pglm(Feed ~ Cons_PC_1 + imp_gen_1 + LGDP_PC_1 + lnEI_1 + SH_Ren_1,data,family=binomial(probit),model=random,method=bfgs,index=c(Year,IDCountry)) m1_S$fitted.values residuals(m1) Can someone help me about it? Thanks __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. -- Paul E. Johnson Professor, Political Science Assoc. Director 1541 Lilac Lane, Room 504 Center for Research Methods University of Kansas University of Kansas http://pj.freefaculty.org http://quant.ku.edu __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] pglm package: fitted values and residuals
On Thu, 25 Apr 2013, Ista Zahn wrote: On Thu, Apr 25, 2013 at 3:14 PM, Paul Johnson pauljoh...@gmail.com wrote: On Wed, Apr 24, 2013 at 4:37 PM, Achim Zeileis achim.zeil...@uibk.ac.at wrote: On Wed, 24 Apr 2013, Paul Johnson wrote: On Wed, Apr 24, 2013 at 3:11 AM, alfonso.carf...@uniparthenope.it wrote: I'm using the package pglm and I'have estimated a random probit model. I need to save in a vector the fitted values and the residuals of the model but I can not do it. I tried with the command fitted.values using the following procedure without results: This is one of those ask the pglm authors questions. You should take it up with the authors of the package. There is a specialized email list R-sig-mixed where you will find more people working on this exact same thing. pglm looks like fun to me, but it is not quite done, so far as I can tell. I'm sure that there are many. One of my attempts to write up a list is in Table 1 of vignette(betareg, package = betareg). Yes! That's exactly the list I was thinking of. It was driving me crazy I could not find it. Thanks for the explanation. I don't think I should have implied that the pglm author must actually implement all the methods, it is certainly acceptable to leverage the methods that exist. It just happened that the ones I tested were not implemented by any of the affiliated packages. But this thread leads me to one question I've wondered about recently. Suppose I run somebody's regression function and out comes an object. Do we have a way to ask that object what are all of the methods that might apply to you? Yes, minus the might: library(pglm) example(pglm) # produces an object named la sapply(class(la), function(x) methods(class=x)) # lists functions with methods for objects of this class Well, this shows you the methods that are available for the class but not necessarily what arguments are supported. And even if the arguments are available they do not necessarily mean the same thing. And some things may or may not work via inheritance... So coming back to Paul's question: Yes, I think it would be nice to have support for this and in fact I have thought about similar infrastructure. But so far I didn't have a good idea for a sufficiently robust/reliable implementation. There are just so many details in the different model objects that can be handled differently. Best, Z Best, Ista Here's why I wondered. You've noticed that predict.lm has the interval=confidence argument, but predict.glm does not. So if I receive a regression model, I'd like to say to it do you have a predict method and if I could get that predict method, I could check to see if there is a formal argument interval. If it does not, maybe I'd craft one for them. pj Personally, I don't write anova() methods for my model objects because I can leverage lrtest() and waldtest() from lmtest and linearHypothesis() and deltaMethod() from car as long as certain standard methods are available, including coef(), vcov(), logLik(), etc. Similarly, an AIC() method is typically not needed as long as logLik() is available. And BIC() works if nobs() is available in addition. Best, Z pj library(pglm) m1_S-pglm(Feed ~ Cons_PC_1 + imp_gen_1 + LGDP_PC_1 + lnEI_1 + SH_Ren_1,data,family=binomial(probit),model=random,method=bfgs,index=c(Year,IDCountry)) m1_S$fitted.values residuals(m1) Can someone help me about it? Thanks __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. -- Paul E. Johnson Professor, Political Science Assoc. Director 1541 Lilac Lane, Room 504 Center for Research Methods University of Kansas University of Kansas http://pj.freefaculty.org http://quant.ku.edu __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
[R] pglm package: fitted values and residuals
I'm using the package pglm and I'have estimated a random probit model. I need to save in a vector the fitted values and the residuals of the model but I can not do it. I tried with the command fitted.values using the following procedure without results: library(pglm) m1_S-pglm(Feed ~ Cons_PC_1 + imp_gen_1 + LGDP_PC_1 + lnEI_1 + SH_Ren_1,data,family=binomial(probit),model=random,method=bfgs,index=c(Year,IDCountry)) m1_S$fitted.values residuals(m1) Can someone help me about it? Thanks ** IL MERITO DEGLI STUDENTI VIENE RICONOSCIUTO Il 5 per mille all'Universita' degli Studi di Napoli Parthenope incrementa le borse di studio agli studenti - codice fiscale 80018240632 http://www.uniparthenope.it/index.php/5xmille http://www.uniparthenope.it/index.php/it/avvisi-sito-di-ateneo/2943-la-parthenope-premia-il-tuo-voto-di-diploma-ed-il-tuo-imegno-con-i-proventi-del-5-per-mille Questa informativa e' inserita in automatico dal sistema al fine esclusivo della realizzazione dei fini istituzionali dell'ente. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] pglm package: fitted values and residuals
On Wed, Apr 24, 2013 at 3:11 AM, alfonso.carf...@uniparthenope.it wrote: I'm using the package pglm and I'have estimated a random probit model. I need to save in a vector the fitted values and the residuals of the model but I can not do it. I tried with the command fitted.values using the following procedure without results: This is one of those ask the pglm authors questions. You should take it up with the authors of the package. There is a specialized email list R-sig-mixed where you will find more people working on this exact same thing. pglm looks like fun to me, but it is not quite done, so far as I can tell. Well, the authors have not gone the extra step to make their regression objects behave like other R regression objects. In case you need alternative software, ask in R-sig-mixed. You'll learn that most of these can be estimated with other packages. But I really like the homogeneous user interface that is spelled out in pglm, and I expect my students will run into the same questions that you have.. I just downloaded their source code, you probably ought to do that so you can understand what they are doing. They provide the fitting functions, but they do not do any of the other work necessary to make these functions fit together with the R class framework. There are no methods for predict, anova, and so forth. I'm in their R folder looking for implementations: pauljohn@pols110:/tmp/pglm/R$ grep summary * pauljohn@pols110:/tmp/pglm/R$ grep predict * pauljohn@pols110:/tmp/pglm/R$ grep class * pauljohn@pols110:/tmp/pglm/R$ grep fitted * pglm.R: # glm models can be fitted Run example(pglm) what can we do after that? plot(anb) Error in xy.coords(x, y, xlabel, ylabel, log) : 'x' is a list, but does not have components 'x' and 'y' ## Nothing. ## We do get a regression summary object, that's better than some packages provide: anbsum - summary(anb) ## And a coefficient table coef(anbsum) Estimate Std. error t value Pr( t) (Intercept) -6.933764e-01 0.061391429 -11.294351205 1.399336e-29 wage 1.517009e-02 0.006375966 2.379261231 1.734738e-02 exper1.314229e-03 0.007400129 0.177595444 8.590407e-01 ruralyes-8.594328e-05 0.051334716 -0.001674175 9.986642e-01 model.matrix(anb) Error in terms.default(object) : no terms component nor attribute anova(anb) Error in UseMethod(anova) : no applicable method for 'anova' applied to an object of class c('maxLik', 'maxim') predict(anb) Error in UseMethod(predict) : no applicable method for 'predict' applied to an object of class c('maxLik', 'maxim') So, if you want those features with these models, you'll have to get busy and do a lot of coding! While working on regression support lately, I've reached the conclusion that if an R package that claims to do regression but does not provide methods for summary, predict, anova, nobs, fitted, logLik, AIC, and so forth, then it is not done yet. Otherwise, users like you who expect to be able to run methods like fitted or such have a bad experience, as you are having now. Maybe somebody reading this will remind us where the common list of R regression methods is listed. I know for sure I've seen a document about these things, but I'm baffled now trying to find it. But I'm sure there is one. pj library(pglm) m1_S-pglm(Feed ~ Cons_PC_1 + imp_gen_1 + LGDP_PC_1 + lnEI_1 + SH_Ren_1,data,family=binomial(probit),model=random,method=bfgs,index=c(Year,IDCountry)) m1_S$fitted.values residuals(m1) Can someone help me about it? Thanks __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] pglm package: fitted values and residuals
On Wed, 24 Apr 2013, Paul Johnson wrote: On Wed, Apr 24, 2013 at 3:11 AM, alfonso.carf...@uniparthenope.it wrote: I'm using the package pglm and I'have estimated a random probit model. I need to save in a vector the fitted values and the residuals of the model but I can not do it. I tried with the command fitted.values using the following procedure without results: This is one of those ask the pglm authors questions. You should take it up with the authors of the package. There is a specialized email list R-sig-mixed where you will find more people working on this exact same thing. pglm looks like fun to me, but it is not quite done, so far as I can tell. Well, the authors have not gone the extra step to make their regression objects behave like other R regression objects. In case you need alternative software, ask in R-sig-mixed. You'll learn that most of these can be estimated with other packages. But I really like the homogeneous user interface that is spelled out in pglm, and I expect my students will run into the same questions that you have.. I just downloaded their source code, you probably ought to do that so you can understand what they are doing. They provide the fitting functions, but they do not do any of the other work necessary to make these functions fit together with the R class framework. There are no methods for predict, anova, and so forth. This is only partially true. In fact, pglm employs the framework provided by the maxLik (by Ott Toomet and Arne Henningsen) and hence it inherits some of the methods that maxLik provides for all of its fitted model objects. So there is summary(), coef(), vcov(), AIC() work and you can leverage tools like coeftest() from lmtest, linearHypothesis() from car or sandwich() from sandwich do work. But it is certainly true that even more features would be desirable and I think that Yves always planned on enhancing pglm at some point. (After all it's still the initial version 0.1-0 on CRAN...) I'm in their R folder looking for implementations: pauljohn@pols110:/tmp/pglm/R$ grep summary * pauljohn@pols110:/tmp/pglm/R$ grep predict * pauljohn@pols110:/tmp/pglm/R$ grep class * pauljohn@pols110:/tmp/pglm/R$ grep fitted * pglm.R: # glm models can be fitted Run example(pglm) what can we do after that? plot(anb) Error in xy.coords(x, y, xlabel, ylabel, log) : 'x' is a list, but does not have components 'x' and 'y' ## Nothing. ## We do get a regression summary object, that's better than some packages provide: anbsum - summary(anb) ## And a coefficient table coef(anbsum) Estimate Std. error t value Pr( t) (Intercept) -6.933764e-01 0.061391429 -11.294351205 1.399336e-29 wage 1.517009e-02 0.006375966 2.379261231 1.734738e-02 exper1.314229e-03 0.007400129 0.177595444 8.590407e-01 ruralyes-8.594328e-05 0.051334716 -0.001674175 9.986642e-01 model.matrix(anb) Error in terms.default(object) : no terms component nor attribute anova(anb) Error in UseMethod(anova) : no applicable method for 'anova' applied to an object of class c('maxLik', 'maxim') predict(anb) Error in UseMethod(predict) : no applicable method for 'predict' applied to an object of class c('maxLik', 'maxim') So, if you want those features with these models, you'll have to get busy and do a lot of coding! While working on regression support lately, I've reached the conclusion that if an R package that claims to do regression but does not provide methods for summary, predict, anova, nobs, fitted, logLik, AIC, and so forth, then it is not done yet. Otherwise, users like you who expect to be able to run methods like fitted or such have a bad experience, as you are having now. Maybe somebody reading this will remind us where the common list of R regression methods is listed. I know for sure I've seen a document about these things, but I'm baffled now trying to find it. But I'm sure there is one. I'm sure that there are many. One of my attempts to write up a list is in Table 1 of vignette(betareg, package = betareg). Personally, I don't write anova() methods for my model objects because I can leverage lrtest() and waldtest() from lmtest and linearHypothesis() and deltaMethod() from car as long as certain standard methods are available, including coef(), vcov(), logLik(), etc. Similarly, an AIC() method is typically not needed as long as logLik() is available. And BIC() works if nobs() is available in addition. Best, Z pj library(pglm) m1_S-pglm(Feed ~ Cons_PC_1 + imp_gen_1 + LGDP_PC_1 + lnEI_1 + SH_Ren_1,data,family=binomial(probit),model=random,method=bfgs,index=c(Year,IDCountry)) m1_S$fitted.values residuals(m1) Can someone help me about it? Thanks __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and