[R] Three-dimensional contingency table

David Winsemius dwinsemius at comcast.net
Sun Aug 29 09:31:31 CEST 2010


On Aug 28, 2010, at 10:58 PM, Randklev, Charles wrote:

> Hi,
>
> I am trying to assemble a three-way contingency table examining the  
> presence/absence of mussels, water depth (Depth1 and Depth 2) and  
> water velocity (Flow vs. No Flow). I have written the following code  
> listed below; however, when run the glm I get the following message,  
> "Error in model.frame.default(formula = Count ~ MP + wd + wv,  
> drop.unused.levels = TRUE) : variable lengths differ (found for  
> 'MP')". This may be something simple, if so I apologize. Any help  
> would be greatly appreciated.

>
> Best,
> C.R.
>
> numbers <- c(1134,956,328,529,435,599,27,99)
> dim(numbers) <- c(2,2,2)
> numbers
> dimnames(numbers)[[3]] <-list("Mussels", "No Mussels")
> dimnames(numbers)[[2]] <- list("Flow", "No Flow")
> dimnames(numbers)[[1]] <- list("Depth1", "Depth2")
> ftable(numbers)
> as.data.frame.table(numbers)
> frame <- as.data.frame.table(numbers)
> names(frame) <- c("wd", "wv", "MP", "Count")
> frame
> attach(frame)
> model1 <- glm(Count~MP+wd+wv,poisson)

I don't get that error, so maybe you have more than one MP variable  
after attaching "frame". Have you used ls() recently. If there is an  
extra "MP" you should see it there but it shouldn't show up if it is  
only attached. The attach function is a common cause of perplexing  
errors.

-- 
David.



More information about the R-help mailing list