[R] matrix evaluation using if function

From: ivan <i.petzev_at_gmail.com>
Date: Fri, 29 Apr 2011 10:27:29 +0200


Hi All,

I am trying to create a function which evaluates whether the values (which are equal to one) of a matrix are the same as their mirror values. Consider the following matrix:

> n<-matrix(cbind(c(0,1,1),c(1,0,0),c(0,1,0)),3,3)
> colnames(n)<-cbind("A","B","C");rownames(n)<-cbind("A","B","C")
> n

  A B C
A 0 1 0
B 1 0 1
C 1 0 0

Hence, since n[2,1] and n[1,2] are 1 and the same, the function should return the name of the row of n[2,1]. I used the following function:

for (i in length(rownames(n))) {

for (j in length(colnames(n))){

if(n[i,j]==n[j,i]){

rownames(n)[[i]]->output} else {}

}

}

> output

NULL The right answer would have been "B", though. I simply do not see my mistake. I am very greatful for suggestions.

Thank you.

        [[alternative HTML version deleted]]



R-help_at_r-project.org mailing list
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. Received on Fri 29 Apr 2011 - 08:31:29 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 29 Apr 2011 - 13:00:34 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive