# [R] Phi coefficient matrix (package psych)

Kumar Mainali kpmainali at gmail.com
Wed Apr 22 02:21:45 CEST 2015

```Hi Jim,

That solves my problem. Than you.

-- Kumar
ᐧ

Postdoctoral Associate
Fagan Lab, Department of Biology
University of Maryland

On Tue, Apr 21, 2015 at 5:31 PM, Jim Lemon <drjimlemon at gmail.com> wrote:

> 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