On Aug 23, 2009, at 4:14 PM, Michael Kogan wrote:
Thanks for all the replies!
Steve: I don't know whether my suggestion is a good one. I'm quite
new to programming, have absolutely no experience and this was the
only one I could think of. :-) I'm not sure whether I'm able to put
your tips into practice, unfortunately I had no time for much
reading today but I'll dive into it tomorrow.
David: To be honest I don't understand your code yet, but the result
is not equivalent to the original matrix since the row sums don't
match, isn't it? Or is it intended like this? I'll try to ask Google
(or rather RSeek) tomorrow to understand your code. :-)
Not sure what you mean by the "row sums don't match.
All I did (working from the inside of that function outward) was:
a) concatenate the row values into a string:
> Reduce(paste, sm[1,])
[1] "0 0 0 0 1 1 0 0" # the innermost function applied to the first
row.
b) do it for every row
> sapply(1:7, function(x) Reduce(paste, sm[x,]))
[1] "0 0 0 0 1 1 0 0" "1 1 1 1 0 1 1 0" "1 1 1 1 0 0 1 0" "1 0 0 1 0 0
0 0"
"0 0 1 1 1 0 0 1"
[6] "1 0 0 0 0 0 0 1" "1 1 0 0 1 1 0 1"
c) create a sorting vector from that vector (of characters):
> order(sapply(1:7, function(x) Reduce(paste, sm[x,])) )
[1] 1 5 6 4 7 3 2
d) use that sort vector to order the rows:
> sm[order(sapply(1:7, function(x) Reduce(paste, sm[x,])) ), ]
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 0 0 0 0 1 1 0 0
[2,] 0 0 1 1 1 0 0 1
[3,] 1 0 0 0 0 0 0 1
[4,] 1 0 0 1 0 0 0 0
[5,] 1 1 0 0 1 1 0 1
[6,] 1 1 1 1 0 0 1 0
[7,] 1 1 1 1 0 1 1 0
All of the original vectors are output, just in a different order, so
I am therefore confused..... why you think the "rowSums don't
match" .... don't match what?
I assumed you would take this process and apply it to _each_ of the
two matrices in question and then see if you got a TRUE result with
the identical function or perhaps the "==" function.
--
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
______________________________________________
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.