[R] another question: how to delete one of columes in two ones with high correlation(0.95)

Nikhil Kaza nikhil.list at gmail.com
Fri Nov 6 19:07:15 CET 2009


You need  dim(cor.matrix)[1]

Following might be better instead of a loop, to to get the row ids of  
a matrix

(which(cor.matrix >=0.95) %/% dim(cor.matrix)[1])+1

for column ids use modulus instead of integer divison.

(which(cor.matrix >=0.95) %% dim(cor.matrix)[1])

There are probably better ways than this.

Nikhil

but probably a better way to do this would be

On 6 Nov 2009, at 3:16AM, bbslover wrote:

> for(i in 1:(cor.matrix[1]-1))
> {
>  for(j in (i+1):(cor.matrix[2]))
>   {
>      if (cor.matrix[i,j]>=0.95)
>      {
>          data.f<-data.f[,-i];
>           i<-i+1
>      }
>   }
> }




More information about the R-help mailing list