Hi, thank you very much, both methods worked perfectly.
Regards On Fri, Apr 29, 2011 at 4:17 PM, Berend Hasselman <b...@xs4all.nl> wrote: > > David Winsemius wrote: > > > > On Apr 29, 2011, at 4:27 AM, ivan wrote: > > > >> 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. > > > > Can you explain why "A" would not be an equally good answer to satisfy > > your problem set up? > > > > > which(n == t(n) & col(n) != row(n) , arr.ind=TRUE) > > row col > > B 2 1 > > A 1 2 > > > rownames(which(n == t(n) & col(n) != row(n) , arr.ind=TRUE) ) > > [1] "B" "A" > > > > # Which would seem to be the correct answer, but > > # This adds an additional constraint and also insures no diagonal > > elements > > > > > rownames(which(n == t(n) & col(n) != row(n) & lower.tri(n), > > arr.ind=TRUE) ) > > [1] "B" > > > > Wouldn't this do it too (dsince the diagonal is set to false by > lower.tri)?: > > rownames(which(n == t(n) & lower.tri(n), arr.ind=TRUE)) > > Berend > > > > -- > View this message in context: > http://r.789695.n4.nabble.com/matrix-evaluation-using-if-function-tp3483188p3483785.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help@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. > [[alternative HTML version deleted]] ______________________________________________ R-help@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.