HI Kumar, A simple way is: phimat<-function(x) { xcol<-dim(x)[2] newx<-matrix(NA,nrow=xcol,ncol=xcol) for(i in 1:xcol) { for(j in 1:xcol) newx[i,j]<-phi(table(x[,i],x[,j])) } rownames(newx)<-colnames(newx)<-colnames(x) return(newx) } phimat(df)
Jim On Wed, Apr 22, 2015 at 6:34 AM, Kumar Mainali <kpmain...@gmail.com> wrote: > I want to calculate phi coefficient for every pair of the columns. Is there > a way to generate a matrix like a correlation matrix? I know cor function > in the case below gives same answer as phi coefficient. > > x <- sample(c(0,1), 10, replace=TRUE) > y <- sample(c(0,1), 10, replace=TRUE) > z <- sample(c(0,1), 10, replace=TRUE) > df <- data.frame(x,y,z) > cor(df) > library(psych) > phi(df) > > Thank you, > Kumar Mainali > Postdoctoral Associate > Department of Biology > University of Maryland > ᐧ > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.