From: Michael Rennie <mrennie_at_utm.utoronto.ca>

Date: Tue 23 Jan 2007 - 04:49:04 GMT

comp.var.estimates(object1)

R-devel@r-project.org mailing list

https://stat.ethz.ch/mailman/listinfo/r-devel Received on Tue Jan 23 18:35:16 2007

Date: Tue 23 Jan 2007 - 04:49:04 GMT

The function is as follows (some comments included):

comp.var.estimates<-function(object.lm)

{ anovmod<-anova(object.lm) #get the anova table for the lm MStreat<-anovmod[1,3]; MSErr<-anovmod[2,3] #extract Mean Squares dataframe<- as.data.frame(object.lm[13]) #gets the data that went into the lm ni <- tapply(dataframe[,1], dataframe[,2], length) #number of cases per treatment level nisq<-ni^2 no<-(1/(length(ni)-1))*(sum(ni)-(sum(nisq)/sum(ni))) #required to calculate variance components s2a<-((MStreat-MSErr)/no) stot<-s2a + MSErr treatvar<-s2a/stot*100 #calculate variance components as a percentage of the total errorvar<-MSErr/stot*100 list(treat.var.comp=s2a, err.var.comp=MSErr, p.var.treat=treatvar, p.var.err=errorvar) }

comp.var.estimates(object1)

I'd like to include a "warning" statement in the function that
returns something like 'function requires arguments that are objects of the
form obj<-lm

(y~x)', but I need a case to evaluate the object against in order to throw the
warning.

Any advice?

I feel like my best opportunity is after the first line into the function, where I ask for the ANOVA table. Since this is a 2 X 5 table, presumably I should be able to evaluate it against the size of that table? Any thoughts on how to check that? I welcome any suggestions.

Cheers,

Mike

Michael Rennie

Ph.D. Candidate, University of Toronto at Mississauga
3359 Mississauga Rd. N.

Mississauga, ON L5L 1C6

Ph: 905-828-5452 Fax: 905-828-3792

www.utm.utoronto.ca/~w3rennie

[[alternative HTML version deleted]]

R-devel@r-project.org mailing list

https://stat.ethz.ch/mailman/listinfo/r-devel Received on Tue Jan 23 18:35:16 2007

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.1.8, at Tue 23 Jan 2007 - 13:31:11 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel.
Please read the posting
guide before posting to the list.
*