[R] se.contrast ....too hard??? .... Too easy????? .....too trivial???? ...... Too boring.....too????????

Duncan Mackay Duncan.Mackay at flinders.edu.au
Mon Mar 1 02:29:09 CET 2004


Hi all,
Regular and avid readers of this column will know that Don Driscoll and
I have recently posted two messages requesting assistance concerning an
apparent failure of "se.contrast" to produce an se for a contrast. So
far, an ominous silence rings in our ears, but read on Gentle Reader,
and see if even the machinations of "debug" doesn't stimulate you to
respond with a revelatory epistle.

Thanks!!!
Duncan



Here is my first message :-

Just to follow up Don Driscoll's earlier post, can anyone please explain
why "se.contrast" fails here??

> shp<-factor(rep(c("reserve","strip"),each=96))
> 
> 
>
site<-factor(rep(c("1g","1p","1t","2g","2p","2t","3g","3p","3t","4g","4p
","4t"),each=16))
> 
> pit<-factor(rep(1:16,12))
> 
>
reptsp<-c(4,5,6,4,6,6,6,7,3,5,2,2,4,8,5,4,2,4,2,2,4,5,2,4,4,4,3,2,3,2,5,
3,5,3,4,4,4,3,4,
+
3,4,4,4,3,4,3,6,3,3,5,4,6,4,4,2,4,2,6,5,5,5,7,4,4,5,1,4,5,6,5,5,2,6,3,5,
6,4,5,
+
4,8,2,4,2,4,2,4,3,3,4,4,3,2,1,3,4,4,2,2,3,2,4,1,2,2,3,4,5,5,3,5,5,4,1,1,
2,1,3,
+
1,4,1,6,1,2,3,2,2,2,1,1,2,2,6,5,3,2,3,5,3,2,3,2,1,3,2,4,4,3,3,3,1,2,4,3,
4,5,6,
+
5,2,3,2,2,5,5,5,2,2,5,2,4,4,3,2,2,3,2,2,2,2,5,4,3,3,5,2,5,4,3,2,2,2,1,2)
> 
> ddata<-data.frame(shp,pit,site,reptsp)
> 
> repmod2<-aov(reptsp~shp/site+ Error(shp/site))
> summary(repmod2)

Error: shp
    Df Sum Sq Mean Sq
shp  1  53.13   53.13

Error: shp:site
         Df Sum Sq Mean Sq
shp:site 10 61.885   6.189

Error: Within
           Df Sum Sq Mean Sq F value Pr(>F)
Residuals 180 318.56    1.77               
> 
> table(ddata$shp)

reserve   strip 
     96      96 
> 
> se.contrast(repmod2, list(shp=="strip", shp=="reserve"),data=ddata)
Error in qr.qty(strata$qr, scontrast) : qr and y must have the same
number of rows
> 
?????????????????????


Thanks,
Duncan


...............and here is what debug says:-

> debug("qr.qty")
> se.contrast(repmod2, list(shp=="strip", shp=="reserve"),data=ddata)
debugging in: qr.qty(e.qr, contrast)
debug: {
    if (!is.qr(qr)) 
        stop("argument is not a QR decomposition")
    if (is.complex(qr$qr)) {
        y <- as.matrix(y)
        if (!is.complex(y)) 
            y[] <- as.complex(y)
        return(.Call("qr_qy_cmplx", qr, y, 1, PACKAGE = "base"))
    }
    a <- attr(qr, "useLAPACK")
    if (!is.null(a) && is.logical(a) && a) 
        return(.Call("qr_qy_real", qr, as.matrix(y), 1, PACKAGE =
"base"))
    n <- nrow(qr$qr)
    k <- as.integer(qr$rank)
    ny <- NCOL(y)
    if (NROW(y) != n) 
        stop("qr and y must have the same number of rows")
    storage.mode(y) <- "double"
    .Fortran("dqrqty", as.double(qr$qr), n, k, as.double(qr$qraux), 
        y, ny, qty = y, PACKAGE = "base")$qty
}
Browse[1]> 
debug: if (!is.qr(qr)) stop("argument is not a QR decomposition")
Browse[1]> 
debug: if (is.complex(qr$qr)) {
    y <- as.matrix(y)
    if (!is.complex(y)) 
        y[] <- as.complex(y)
    return(.Call("qr_qy_cmplx", qr, y, 1, PACKAGE = "base"))
}
Browse[1]> 
debug: a <- attr(qr, "useLAPACK")
Browse[1]> 
debug: if (!is.null(a) && is.logical(a) && a) return(.Call("qr_qy_real",

    qr, as.matrix(y), 1, PACKAGE = "base"))
Browse[1]> 
debug: n <- nrow(qr$qr)
Browse[1]> 
debug: k <- as.integer(qr$rank)
Browse[1]> 
debug: ny <- NCOL(y)
Browse[1]> 
debug: if (NROW(y) != n) stop("qr and y must have the same number of
rows") Browse[1]> ny [1] 1 Browse[1]> NCOL(y) [1] 1 Browse[1]>
nrow(qr$qr) [1] 192 Browse[1]> print(n) [1] 192 Browse[1]> dim(qr$qr)
[1] 192  24 Browse[1]> NROW(y) [1] 192 Browse[1]> NROW(y)==n [1] TRUE
Browse[1]> Q

So, if NROW(y)==n, why do I get the message "qr and y must have the same
number of rows"

Any help gratefully appreciated....
Duncan

**********************************************

R, me bucko

*****************************************
Dr. Duncan Mackay
School of Biological Sciences
Flinders University
GPO Box 2100
Adelaide
S.A.    5001
AUSTRALIA

Ph (08) 8201 2627    FAX (08) 8201 3015

http://www.scieng.flinders.edu.au/biology/people/mackay_d/index.html

______________________________________________
R-help at stat.math.ethz.ch mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html




More information about the R-help mailing list