R/phi.R

# slight changes to combine phi and phi1 from W. Revelle
# Leo Gurtler 07-09-06  (umlaut omitted by CRAN check)
#modified  05/18/08 to correct bug in output detected by Dylan Arena
"phi" <-
 function(t,digits=2)
{  # expects: t is a 2 x 2 matrix or a vector of length(4)
   stopifnot(prod(dim(t)) == 4 || length(t) == 4)
   if(is.vector(t)) t <- matrix(t, 2)
   r.sum <- rowSums(t)
   c.sum <- colSums(t)
   total <- sum(r.sum)
   r.sum <- r.sum/total
   c.sum <- c.sum/total
   v <- prod(r.sum, c.sum)
   phi <- (t[1,1]/total - c.sum[1]*r.sum[1]) /sqrt(v)
   names(phi) <- NULL
return(round(phi,digits))  }

#does not return chi square values
phi2chi <- function(phi,n.obs) {
chi <- phi^2 * (n.obs)
p <- 1 - pchisq(chi,1)
return(list(chi=chi,p=p))}
frenchja/psych documentation built on May 16, 2019, 2:49 p.m.