R/q2by2.R

q2by2 <-
function(x,q = c(0.1, 0.25, 0.5, 0.75, 0.9), nboot = 2000,SEED=TRUE){
#
# For a 2 by 2 ANOVA, independent groups, test main effects
# and interaction for all quantiles indicated by argument q
#
if(SEED)set.seed(2)
if(is.matrix(x))x<-listm(x)
if(length(x)!=4)stop('Current version is for a 2-by-2 ANOVA only. Should have four groups.')
A=matrix(NA,nrow=length(q),5)
B=matrix(NA,nrow=length(q),5)
AB=matrix(NA,nrow=length(q),5)
dimnames(A)=list(NULL,c('q','psihat','p.value','ci.lower','ci.upper'))
dimnames(B)=list(NULL,c('q','psihat','p.value','ci.lower','ci.upper'))
dimnames(AB)=list(NULL,c('q','psihat','p.value','ci.lower','ci.upper'))
con=con2way(2,2)

for(i in 1:length(q)){
A[i,1]=q[i]
B[i,1]=q[i]
AB[i,1]=q[i]
a=linconpb(x,nboot=nboot,est=hd,con=con$conA,SEED=FALSE,q=q[i])
b=linconpb(x,nboot=nboot,est=hd,con=con$conB,SEED=FALSE,q=q[i])
ab=linconpb(x,nboot=nboot,est=hd,con=con$conAB,SEED=FALSE,q=q[i])
A[i,2:5]=a$output[,c(2,3,5,6)]
B[i,2:5]=b$output[,c(2,3,5,6)]
AB[i,2:5]=ab$output[,c(2,3,5,6)]
}
list(A=A,B=B,AB=AB)
}
musto101/wilcox_R documentation built on May 23, 2019, 10:52 a.m.