[R] Phi coefficient matrix (package psych)

Jim Lemon drjimlemon at gmail.com
Tue Apr 21 23:31:33 CEST 2015


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 <kpmainali at 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 at 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.



More information about the R-help mailing list