I can't help with the questions on pooling regressions, but for the question about data-frame usage, I'll note two things.
One, > x = data.frame(y = 1:3, z = 4:6) > is.data.frame(x) TRUE > is.data.frame(t(x)) FALSE > is.data.frame(as.data.frame(t(x))) TRUE Two, you'll need to check that your row and column names for the transposed data frame are what you expect them to be. Once you do both,( results2 = as.data.frame(t(results)) & names ) , results2$intercept should work fine. Hope this helps, Michael Weylandt On Mon, Aug 15, 2011 at 8:32 AM, Johannes Radinger <jradin...@gmx.at> wrote: > Just to inform: > I posted that before in R-sig-ecology but as it might be interesting also > for other useRs, I post it also to the general r-user list: > > > Hello Alexandre, > > thank you very much. I also found another way to extract summarizing > information from lm results over e.g. 1000 repeated model runs: > > results2 <- t(as.data.frame(results)) > summary(results2) > > Although some questions popped up in my analysis (procedure see below) : > > 1) it seems that I can't get an element with the usual > command like results2$intercept ... that doesn't work here, why? > That would be useful for plotting an element like R-squared etc. > It can be done with e.g hist(results2[,1]) but then I've to know which > column is which coefficient. > > 2) is there a correct way to get a "mean" p - value or any > other mean of the regression coefficients? What is the statistically proper > way to calculate summaries for regression coefficients of many model runs > Or can I just use the mean from the summary? Is there any restriction when > using a log transformation like: lm(log(Y)=log(X1)+X2())? > > 3) How can I check for normality of the residuals in my overall model? > I know how to run lillie.test(resid(lm.model)). But how to do that in my > case with 1000 model runs? Perform the test for each run and get an average > or pool the residuals? > > 4)with single lm-runs it is possible to compare the results of > two models with an anova...how can I compare the results of lets > say two models with each 1000 model runs? > > > Thank you very much > > /johannes > > > -------- Original-Nachricht -------- > > Datum: Mon, 15 Aug 2011 08:33:52 -0300 > > Von: Alexandre Camargo Martensen <acmarten...@gmail.com> > > An: Johannes Radinger <jradin...@gmx.at> > > Betreff: Re: [R-sig-eco] Extracting information from lm results > > > Hi Johannes, > > > > try this > > > > results.df<-data.frame(results) > > #results.df > > > > p<-t(results.df[4,]) > > r<-t(results.df[5,]) > > > > mean(p) > > mean(r) > > > > HTH, > > > > Alexandre > > > > > > On Mon, Aug 15, 2011 at 8:07 AM, Johannes Radinger <jradin...@gmx.at> > > wrote: > > > > > Hello Peter, > > > > > > I just found a mail list correspondence from you in R-sig-eco and > > > found your information and code snipped about extracting information > > from > > > lm results very useful. I do have a similar challenge to perform > several > > > lm-regression and in the end I'd like to get e.g a mean value for > > R-squared > > > or p or any other of the regression coefficients. > > > > > > So far I managed to write following code example: > > > > > > #Defining variables > > > Y=c(15,14,23,18,19,9,19,13) > > > X1=c(0.2,0.6,0.45,0.27,0.6,0.14,0.1,0.52) > > > X2a=c(17,22,21,18,19,25,8,19) > > > X2b=c(22,22,29,34,19,26,17,22) > > > X2 <- function()runif(length(X2a), X2a, X2b) > > > > > > #create empty list > > > mod <- list() > > > #perfrom n-model runs for lm > > > for(i in 1:10) { > > > mod[[paste("run",i,sep="")]] <- lm(Y~X1+X2()) > > > } > > > > > > #define coeficients and how to extract them from lm > > > All_Model_runs <- function(lm){ > > > out <- c(lm$coefficients[1], > > > lm$coefficients[2], > > > summary(lm)$coefficients[2,2], > > > pf(summary(lm)$fstatistic[1], summary(lm)$fstatistic[2], > > > summary(lm)$fstatistic[3], lower.tail = FALSE), > > > summary(lm)$r.squared) > > > names(out) <- > > > c("intercept","slope","slope.SE","p.value","r.squared") > > > return(out) > > > } > > > > > > #create empty list > > > results <- list() > > > #get coeffiencts for all model runs into list: results > > > for (i in 1:length(mod)) results[[names(mod)[i]]] <- > > > All_Model_runs(mod[[i]]) > > > > > > > > > Now my questions you might probably be able to answer: > > > > > > 1) Is that so far good what I was doing (according to your code)? > > > 2) How can I get a mean/average p value for example or an average > > R-squared > > > over all model runs? > > > 3) Is there any special function to call a mean of these coefficients? > > > > > > Thank you very much > > > /Johannes > > > > > > -- > > > > > > _______________________________________________ > > > R-sig-ecology mailing list > > > r-sig-ecol...@r-project.org > > > https://stat.ethz.ch/mailman/listinfo/r-sig-ecology > > > > > -- > > > > > -- > > ______________________________________________ > 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]] ______________________________________________ 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.