[R] Extracting only some coefficients for the logistic regression model and its plot

anteneh asmare h@n@tezer@ @end|ng |rom gm@||@com
Wed Jun 15 13:28:12 CEST 2022


Dear Rui, Thanks it works!
Best,
Hana
On 6/15/22, Rui Barradas <ruipbarradas using sapo.pt> wrote:
> Hello,
>
> With ggplot it's easy, add color = id and coord_flip().
>
>
> ggplot(ORCI, aes(id, OR, color = id)) +
>    geom_point() +
>    geom_errorbar(aes(ymin = `2.5 %`, max = `97.5 %`)) +
>    coord_flip() +
>    theme_bw()
>
>
> Hope this helps,
>
> Rui Barradas
>
> Às 08:15 de 15/06/2022, anteneh asmare escreveu:
>> Dear Rui,  thanks a lot, dose  it possible to have the horizontal line
>> for scale OR value on Y axis and different color for entire box plots
>> ?
>> Best,
>> Hana
>> On 6/15/22, Rui Barradas <ruipbarradas using sapo.pt> wrote:
>>> Hello,
>>>
>>> To extract all but the first 2 rows, use a negative index on the rows.
>>> I will also coerce to data.frame and add a id column, it will be needed
>>> to plot the confidence intervals.
>>>
>>>
>>> ORCI <- exp(cbind(OR = coef(model ), confint(model )))[-(1:2), ]
>>> ORCI <- cbind.data.frame(ORCI, id = row.names(ORCI))
>>>
>>>
>>> Now the base R and ggplot plots. In both cases plot the bars first, then
>>> the points.
>>>
>>> 1. Base R
>>>
>>>
>>> ymin <- min(apply(ORCI[2:3], 1, range)[1,])
>>> ymax <- max(apply(ORCI[2:3], 1, range)[2,])
>>>
>>> plot((ymin + ymax)/2,
>>>        type = "n",
>>>        xaxt = "n",
>>>        xlim = c(0.5, 5.5),
>>>        ylim = c(ymin, ymax),
>>>        xlab = "X3",
>>>        ylab = "Odds Ratio")
>>> with(ORCI, arrows(x0 = seq_along(id),
>>>                     y0 = `2.5 %`,
>>>                     y1 = `97.5 %`,
>>>                     code = 3,
>>>                     angle = 90))
>>> points(OR ~ seq_along(id), ORCI, pch = 16)
>>> axis(1, at = seq_along(ORCI$id), labels = ORCI$id)
>>>
>>>
>>>
>>> 2. Package ggplot2
>>>
>>>
>>> library(ggplot2)
>>>
>>> ggplot(ORCI, aes(id, OR)) +
>>>     geom_errorbar(aes(ymin = `2.5 %`, max = `97.5 %`)) +
>>>     geom_point() +
>>>     theme_bw()
>>>
>>>
>>> Hope this helps,
>>>
>>> Rui Barradas
>>>
>>> Às 21:01 de 14/06/2022, anteneh asmare escreveu:
>>>> sample_data =
>>>> read.table("http://freakonometrics.free.fr/db.txt",header=TRUE,sep=";")
>>>> head(sample_data)
>>>> model = glm(Y~0+X1+X2+X3,family=binomial,data=sample_data)
>>>> summary(model)
>>>> exp(coef(model ))
>>>> exp(cbind(OR = coef(model ), confint(model )))
>>>> I have the aove sample data on logistic regression with categorical
>>>> predictor
>>>> I try the above code i get the follwing  out put,
>>>>               OR       2.5 %     97.5 %
>>>> X1  1.67639337 1.352583976 2.09856514
>>>> X2  1.23377720 1.071959330 1.42496949
>>>> X3A 0.01157565 0.001429430 0.08726854
>>>> X3B 0.06627849 0.008011818 0.54419759
>>>> X3C 0.01118084 0.001339984 0.08721028
>>>> X3D 0.01254032 0.001545240 0.09539880
>>>> X3E 0.10654454 0.013141540 0.87369972
>>>>    but i am wondering i want to extract OR and  CI only for factors, My
>>>> desire out put will be
>>>>    OR       2.5 %     97.5 %
>>>> X3A 0.01157565 0.001429430 0.08726854
>>>> X3B 0.06627849 0.008011818 0.54419759
>>>> X3C 0.01118084 0.001339984 0.08721028
>>>> X3D 0.01254032 0.001545240 0.09539880
>>>> X3E 0.10654454 0.013141540 0.87369972
>>>> Can any one help me the code to extact it?
>>>> additionally I want to plot the above OR with confidence interval for
>>>> the extracted one
>>>> can you also help me the code with plot,or box plot
>>>> Kind Regards,
>>>> Hana
>>>>
>>>> ______________________________________________
>>>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>>> 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.
>>>
>



More information about the R-help mailing list