Hey I'm not really sure what I should put on here, but I am having trouble with my R code. I am trying to get the p-values, R^2s etc for a number of different groups of variables that are all in one dataset.
This is the code: #Stand counter st<-1 #Collections stands<-numeric(67) slopes<-numeric(67) intercepts<-numeric(67) mses<-numeric(67) rsquares<-numeric(67) pValues<-numeric(67) #Start lists for X and Y values within each stand xi<-numeric(0) yi<-numeric(0) #Set the first element to the starting X and Y values xi[1]=X[1] yi[1]=Y[1] #Start looping working through your data, record by record for (i in 2:length(X)) { #If you are in the same stand as on the last record, continue to #collect X and Y values if(Stand[i]==Stand[i-1]) { xi=cbind(xi,X[i]) yi=cbind(yi,Y[i]) } else { #If a new stand is encountered make your linear model and #collect statistics model<-lm(yi~xi) stands[st]<-Stand[i-1] intercepts[st]<-model$coefficients[1] slopes[st]<-model$coefficients[2] mses[st]<-sum(resid(model)^2)/(length(xi)-2) ssr<-var(yi)*(length(xi)-1)-sum(resid(model)^2) rsquares[st]<-ssr/(var(yi)*(length(xi)-1)) fRatio<-ssr/mses[st] pValues[st]<-1-pf(fRatio,1,length(xi)-2) #Increment the stand number, zero the within stand collections, #and start again st<-st+1 xi<-numeric(0) yi<-numeric(0) xi[1]=X[i] yi[1]=Y[i] } } #Make your data set standEstimates<-data.frame(standID=stands,intercept=intercepts,slop=slopes,mse=mses,rSquare=rsquares,pValue=pValues) The standEstimate outputs look like this: standID intercept slop mse rSquare pValue 1 6833 319.2470 NA 0 NA NA 2 756 708.7470 NA 0 NA NA 3 795 508.2290 NA 0 NA NA 4 1249 503.1460 NA 0 NA NA 5 1331 703.0620 NA 0 NA NA 6 1417 747.7620 NA 0 NA NA 7 4715 549.3400 NA 0 NA NA 8 4850 603.9940 NA 0 NA NA 9 2105 573.3270 NA 0 NA NA Etc etc and I get these warnings: 1: In rsquares[st] <- ssr/(var(yi) * (length(xi) - 1)) : number of items to replace is not a multiple of replacement length 2: In pValues[st] <- 1 - pf(fRatio, 1, length(xi) - 2) : number of items to replace is not a multiple of replacement length 3: In rsquares[st] <- ssr/(var(yi) * (length(xi) - 1)) : number of items to replace is not a multiple of replacement length 4: In pValues[st] <- 1 - pf(fRatio, 1, length(xi) - 2) : number of items to replace is not a multiple of replacement length 5: In rsquares[st] <- ssr/(var(yi) * (length(xi) - 1)) : number of items to replace is not a multiple of replacement length 6: In pValues[st] <- 1 - pf(fRatio, 1, length(xi) - 2) : number of items to replace is not a multiple of replacement length 7: In rsquares[st] <- ssr/(var(yi) * (length(xi) - 1)) : number of items to replace is not a multiple of replacement length 8: In pValues[st] <- 1 - pf(fRatio, 1, length(xi) - 2) : number of items to replace is not a multiple of replacement length 9: In rsquares[st] <- ssr/(var(yi) * (length(xi) - 1)) : number of items to replace is not a multiple of replacement length 10: In pValues[st] <- 1 - pf(fRatio, 1, length(xi) - 2) : number of items to replace is not a multiple of replacement length 11: In rsquares[st] <- ssr/(var(yi) * (length(xi) - 1)) : number of items to replace is not a multiple of replacement length 12: In pValues[st] <- 1 - pf(fRatio, 1, length(xi) - 2) : number of items to replace is not a multiple of replacement length 13: In rsquares[st] <- ssr/(var(yi) * (length(xi) - 1)) : number of items to replace is not a multiple of replacement length 14: In pValues[st] <- 1 - pf(fRatio, 1, length(xi) - 2) : etc etc Sorry if I haven't set this post out right, or haven't provided enough information. But can anyone see why it is not giving me any returns for R^2 etc? -- View this message in context: http://r.789695.n4.nabble.com/R-looping-help-tp4667180.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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.