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.

Reply via email to