Hi Achim and Allan,
I updated the post with Allan's example (thanks Allan).

Achim, you wrote:
"Finally, the Poisson model in comparison with the binomial models does not
make much sense, I guess."
I agree.  I wanted something to showcase the function on 3 models (with the
same predictors), and that's the easiest I could think of.  If you'd think
of a smarter example I'd be happy to incorporate it.

Best,
Tal



----------------Contact
Details:-------------------------------------------------------
Contact me: Tal.Galili@gmail.com |  972-52-7275845
Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) |
www.r-statistics.com (English)
----------------------------------------------------------------------------------------------




On Wed, Jul 7, 2010 at 12:10 PM, Achim Zeileis <Achim.Zeileis@uibk.ac.at>wrote:

> On Wed, 7 Jul 2010, Tal Galili wrote:
>
>  Hello David,
>> Thanks to your posting I started looking at the function in the arm
>> package.
>>  It appears this function is quite mature, and offers (for example) the
>> ability to easily overlap coefficients from several models.
>>
>
> Re: more mature. arm's coefplot() is more flexible in certain respects,
> mine is more convenient in others. The overlay functionality is something
> arm's coefplot() is better in and it also as some further options (vertical
> vs. horizontal etc.). My coefplot() has the advantage that it does not need
> any modification as long as coef() and vcov() methods are available.
> Furthermore, "level" can specify the significance level (instead of always
> using one and two standard errors, respectively).
> But it shouldn't be too hard to create a superset of all options.
>
>
>  I updated the post I published on the subject, so at the end of it I give
>> an
>> example of comparing the coef of several models:
>>
>> http://www.r-statistics.com/2010/07/visualization-of-regression-coefficient
>> s-in-r/
>>
>
> As Allan pointed out in his reply, something fully reproducible would be
> nice. Also, if you keep the example with quasi-complete separation, it would
> be worth pointing this out. (Because the maximum likelihood estimator is
> Infinity in this case.)
>
> Finally, the Poisson model in comparison with the binomial models does not
> make much sense, I guess.
>
> Best,
> Z
>
>  Thanks again for the pointer.
>>
>> Best,
>> Tal
>>
>>
>>
>>
>> ----------------Contact
>> Details:-------------------------------------------------------
>> Contact me: Tal.Galili@gmail.com |  972-52-7275845
>> Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) |
>> www.r-statistics.com (English)
>>
>> ---------------------------------------------------------------------------
>> -------------------
>>
>>
>>
>>
>> On Wed, Jul 7, 2010 at 12:02 AM, David Atkins <datkins@u.washington.edu>
>> wrote:
>>
>>
>>      FYI, there is already a function coefplot in the arm package;
>>      for example, compare:
>>
>>      > library(arm)
>>      Loading required package: MASS
>>      Loading required package: Matrix
>>      [snip]
>>      Attaching package: 'arm'
>>
>>      The following object(s) are masked from 'package:coda':
>>
>>         traceplot
>>
>>      > data("Mroz", package = "car")
>>      > fm <- glm(lfp ~ ., data = Mroz, family = binomial)
>> > coefplot(fm)
>>
>> with version below.
>>
>> cheeres, Dave
>>
>> >
>> > detach("package:arm")
>>
>> > coefplot <- function(object, df = NULL, level = 0.95, parm = NULL,
>> +    labels = TRUE, xlab = "Coefficient confidence intervals", ylab =
>> "",
>> +    xlim = NULL, ylim = NULL,
>> +    las = 1, lwd = 1, lty = c(1, 2), pch = 19, col = 1,
>> +    length = 0, angle = 30, code = 3, ...)
>> + {
>> +    cf <- coef(object)
>> +    se <- sqrt(diag(vcov(object)))
>> +    if(is.null(parm)) parm <- seq_along(cf)
>> +    if(is.numeric(parm) | is.logical(parm)) parm <- names(cf)[parm]
>> +    if(is.character(parm)) parm <- which(names(cf) %in% parm)
>> +    cf <- cf[parm]
>> +    se <- se[parm]
>> +    k <- length(cf)
>> +
>> +    if(is.null(df)) {
>> +      df <- if(identical(class(object), "lm")) df.residual(object)
>> else 0
>> +    }
>> +
>> +    critval <- if(df > 0 & is.finite(df)) {
>> +      qt((1 - level)/2, df = df)
>> +    } else {
>> +      qnorm((1 - level)/2)
>> +    }
>> +    ci1 <- cf + critval * se
>> +    ci2 <- cf - critval * se
>> +
>> +    lwd <- rep(lwd, length.out = 2)
>> +    lty <- rep(lty, length.out = 2)
>> +    pch <- rep(pch, length.out = k)
>> +    col <- rep(col, length.out = k)
>> +
>> +    if(is.null(xlim)) xlim <- range(c(0, min(ci1), max(ci2)))
>> +    if(is.null(ylim)) ylim <- c(1 - 0.05 * k, 1.05 * k)
>> +
>> +    if(isTRUE(labels)) labels <- names(cf)
>> +    if(identical(labels, FALSE)) labels <- ""
>> +    labels <- rep(labels, length.out = k)
>> +
>> +    plot(0, 0, xlim = xlim, ylim = ylim, xlab = xlab, ylab = ylab,
>> +      axes = FALSE, type = "n", las = las, ...)
>> +    arrows(ci1, 1:k, ci2, 1:k, lty = lty[1], lwd = lwd[1], col = col,
>> +      length = length, angle = angle, code = code)
>> +    points(cf, 1:k, pch = pch, col = col)
>> +    abline(v = 0, lty = lty[2], lwd = lwd[2])
>> +    axis(1)
>> +    axis(2, at = 1:k, labels = labels, las = las)
>> +    box()
>> + }
>> >
>> >
>> > coefplot(fm, parm = -1)
>>
>>
>>
>>
>> Achim Zeileis wrote:
>>
>> I've thought about adding a plot() method for the coeftest() function
>> in
>> the "lmtest" package. Essentially, it relies on a coef() and a vcov()
>> method being available - and that a central limit theorem holds. For
>> releasing it as a general function in the package the code is still
>> too
>> raw, but maybe it's useful for someone on the list. Hence, I've
>> included
>> it below.
>>
>> An example would be to visualize all coefficients except the intercept
>> for
>> the Mroz data:
>>
>> data("Mroz", package = "car")
>> fm <- glm(lfp ~ ., data = Mroz, family = binomial)
>> coefplot(fm, parm = -1)
>>
>> hth,
>> Z
>>
>> coefplot <- function(object, df = NULL, level = 0.95, parm = NULL,
>>   labels = TRUE, xlab = "Coefficient confidence intervals", ylab = "",
>>   xlim = NULL, ylim = NULL,
>>   las = 1, lwd = 1, lty = c(1, 2), pch = 19, col = 1,
>>   length = 0, angle = 30, code = 3, ...)
>> {
>>   cf <- coef(object)
>>   se <- sqrt(diag(vcov(object)))
>>   if(is.null(parm)) parm <- seq_along(cf)
>>   if(is.numeric(parm) | is.logical(parm)) parm <- names(cf)[parm]
>>   if(is.character(parm)) parm <- which(names(cf) %in% parm)
>>   cf <- cf[parm]
>>   se <- se[parm]
>>   k <- length(cf)
>>
>>   if(is.null(df)) {
>>     df <- if(identical(class(object), "lm")) df.residual(object) else
>> 0
>>   }
>>
>>   critval <- if(df > 0 & is.finite(df)) {
>>     qt((1 - level)/2, df = df)
>>   } else {
>>     qnorm((1 - level)/2)
>>   }
>>   ci1 <- cf + critval * se
>>   ci2 <- cf - critval * se
>>
>>   lwd <- rep(lwd, length.out = 2)
>>   lty <- rep(lty, length.out = 2)
>>   pch <- rep(pch, length.out = k)
>>   col <- rep(col, length.out = k)
>>
>>   if(is.null(xlim)) xlim <- range(c(0, min(ci1), max(ci2)))
>>   if(is.null(ylim)) ylim <- c(1 - 0.05 * k, 1.05 * k)
>>
>>   if(isTRUE(labels)) labels <- names(cf)
>>   if(identical(labels, FALSE)) labels <- ""
>>   labels <- rep(labels, length.out = k)
>>
>>   plot(0, 0, xlim = xlim, ylim = ylim, xlab = xlab, ylab = ylab,
>>     axes = FALSE, type = "n", las = las, ...)
>>   arrows(ci1, 1:k, ci2, 1:k, lty = lty[1], lwd = lwd[1], col = col,
>>     length = length, angle = angle, code = code)
>>   points(cf, 1:k, pch = pch, col = col)
>>   abline(v = 0, lty = lty[2], lwd = lwd[2])
>>   axis(1)
>>   axis(2, at = 1:k, labels = labels, las = las)
>>   box()
>> }
>>
>>
>> On Fri, 2 Jul 2010, Tal Galili wrote:
>>
>> > Specifically this link:
>> > http://tables2graphs.com/doku.php?id=04_regression_coefficients
>> >
>> > Great reference Bernd, thank you.
>> >
>> > Tal
>> >
>> >
>> > ----------------Contact
>> > Details:-------------------------------------------------------
>> > Contact me: Tal.Galili at gmail.com |  972-52-7275845
>> > Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il
>> (Hebrew) |
>> > www.r-statistics.com (English)
>>
>> >---------------------------------------------------------------------------
>> -------------------
>> >
>> >
>> >
>> >
>> > On Fri, Jul 2, 2010 at 10:31 AM, Bernd Weiss <bernd.weiss at
>> uni-koeln.de>wrote:
>> >
>> >> Am 02.07.2010 08:10, schrieb Wincent:
>> >>> Dear all,
>> >>>
>> >>> I try to show a subset of coefficients in my presentation. It
>> seems
>> >>> that a "standard" table is not a good way to go. I found figure 9
>> >>> (page 9) in this file (
>> >>>
>> >>
>> http://www.destatis.de/jetspeed/portal/cms/Sites/destatis/Internet/DE/Conte
>>
>> nt/Wissenschaftsforum/Kolloquien/VisualisierungModellierung__Beitrag,proper
>> ty=file.pdf
>> >>>
>> >>>
>> >> ) looks pretty good. I wonder if there is any function for such
>> plot?
>> >>> Or any suggestion on how to present statistical models in a
>> >>> presentation?
>> >>
>> >> Hi Wincent,
>> >>
>> >> I guess you are looking for "Using Graphs Instead of Tables in
>> Political
>> >> Science" by Kastellec/Leoni <http://tables2graphs.com/doku.php>.
>> >>
>> >> HTH,
>> >>
>> >> Bernd
>> >>
>> >> ______________________________________________
>> >> R-help at 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.
>> >>
>> >
>> >       [[alternative HTML version deleted]]
>> >
>> > ______________________________________________
>> > R-help at 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.
>> >
>>
>> --
>> Dave Atkins, PhD
>> Research Associate Professor
>> Department of Psychiatry and Behavioral Science
>> University of Washington
>> datkins@u.washington.edu
>>
>> Center for the Study of Health and Risk Behaviors (CSHRB)
>>
>> 1100 NE 45th Street, Suite 300
>> Seattle, WA  98105
>> 206-616-3879
>> http://depts.washington.edu/cshrb/
>> (Mon-Wed)
>>
>> Center for Healthcare Improvement, for Addictions, Mental Illness,
>>  Medically Vulnerable Populations (CHAMMP)
>> 325 9th Avenue, 2HH-15
>> Box 359911
>> Seattle, WA 98104
>> http://www.chammp.org
>> (Thurs)
>>
>>
>> ______________________________________________
>> 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.
>>
>>
>>
>>

	[[alternative HTML version deleted]]

