Skip to content

Getting a table of coefficients from R

2 messages · danibelle at talk21.com, Greg Snow

#
Hi,?

I'm trying to obtain a table of coefficients and confidence intervals from a logistic regression analysis in R. My code is as follows:

# read in csv file

datafile<-read.csv("file.csv", row.names=1)
# read in the variable list
varlist<-names(datafile)[66:180]
models<-lapply(varlist, function(x) {glm(substitute(outcome ~ i, list(i=as.name(x))), data=datafile, family = "binomial")})

# apply summary to each model stored in the list, models

lapply(models, summary)

tableofOddsRatios<-exp(cbind(OR = coef(models), confint(models)))
write.table(table, "tableofOddsRatios_outcome.txt", sep="\t", row.names=T, col.names=T, quote=F)

When I try to run this, I get the following error message:
Error in UseMethod("vcov") :?
? no applicable method for 'vcov' applied to an object of class "list"

Should I be doing this another way?
Thanks

Danielle
#
You have a list of models, the coef and confint functions only work on
a single model, so you need to use lapply or sapply to get the
information from each model.  Possibly something like (untested):

tableOfOddsRatios <- sapply( models, function(x) exp(c( coef(x)[2],
confint(x)[2,]) )

I included the [2] and [2,] to exclude the intercept from each model,
but this could be changed if you want that information as well.  You
may need to transpose the results of the above.
On Thu, Oct 18, 2012 at 9:06 AM, <danibelle at talk21.com> wrote: