From: Gabor Grothendieck <ggrothendieck_at_gmail.com>

Date: Tue 28 Feb 2006 - 15:19:30 EST

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Tue Feb 28 15:28:52 2006

Date: Tue 28 Feb 2006 - 15:19:30 EST

Try this:

Xm <- as.matrix(X)

X.lm <- lm(c(Xm) ~ factor(col(Xm)) + factor(row(Xm)))
sum(resid(X.lm)^2)

or if the idea was to do it without using lm try replacing your calculation of X.predicted with this:

X.predicted <-

outer(operator.adjustment, machine.adjustment, "+") + mean(mean(X))

On 2/27/06, John McHenry <john_d_mchenry@yahoo.com> wrote:

> Hi All,

*>
**> I am illustrating a simple, two-way ANOVA using the following data and I'm
**> having difficulty in expressing the predicted values succinctly in R.
**>
**> X<- data.frame(read.table(textConnection("
**> Machine.1 Machine.2 Machine.3
**> 53 61 51
**> 47 55 51
**> 46 52 49
**> 50 58 54
**> 49 54 50"
**> ), header=TRUE))
**> rownames(X)<- paste("Operator.", 1:nrow(X), sep="")
**> print(X)
**>
**> # I'd like to know if there is a more elegant way to calculate the residuals
**> # than the following, which seems to be rather a kludge. If you care to read
**> # the code you'll see what I mean.
**>
**> machine.adjustment<- colMeans(X) - mean(mean(X)) # length(machine.adjustment)==3
**> operator.adjustment<- rowMeans(X) - mean(mean(X)) # length(operator.adjustment)==5
**> X.predicted<- numeric(0)
**> for (j in 1:ncol(X))
**> {
**> new.col<- mean(mean(X)) + operator.adjustment + machine.adjustment[j]
**> X.predicted<- cbind(X.predicted, new.col)
**> }
**> print(X.predicted)
**> X.residual<- X - X.predicted
**> SS.E<- sum( X.residual^2 )
**>
**> It seems like there ought to be some way of doing that a little bit cleaner ...
**>
**> Thanks,
**>
**> Jack.
**>
**>
**> ---------------------------------
**>
**> Bring photos to life! New PhotoMail makes sharing a breeze.
**> [[alternative HTML version deleted]]
**>
**> ______________________________________________
**> R-help@stat.math.ethz.ch mailing list
**> https://stat.ethz.ch/mailman/listinfo/r-help
**> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
**>
*

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Tue Feb 28 15:28:52 2006

*
This archive was generated by hypermail 2.1.8
: Fri 03 Mar 2006 - 03:42:47 EST
*