[R] 3 questions regarding matrix copy/shuffle/compares
David Winsemius
dwinsemius at comcast.net
Sun Apr 26 17:08:50 CEST 2009
On Apr 26, 2009, at 9:43 AM, Esmail wrote:
> David Winsemius wrote:
>> Yes. As I said before "I am going to refrain from posting
>> speculation until you provide valid R code
>> that will create an object that can be the subject of operations."
>
>
> The code I have provided works, here is a run that may prove helpful:
>
> POP_SIZE = 6
> LEN = 8
>
> pop=create_pop_2(POP_SIZE, LEN)
>
> print(pop)
> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
> [1,] 0 1 0 1 1 0 0 1
> [2,] 0 0 0 0 0 0 0 0
> [3,] 1 1 0 0 1 0 0 0
> [4,] 0 0 0 0 0 0 0 1
> [5,] 0 0 1 1 0 0 1 0
> [6,] 1 0 0 0 0 0 1 0
> [7,] 0 0 0 0 0 0 0 0
> [8,] 0 0 0 0 0 0 0 0
> [9,] 0 0 0 0 0 0 0 0
> [10,] 0 0 0 0 0 0 0 0
> [11,] 0 0 0 0 0 0 0 0
> [12,] 0 0 0 0 0 0 0 0
>
> I want to (1) create a deep copy of pop,
I have already said *I* do not know how to create a "deep copy" in R.
> (2) be able to shuffle the rows only, and
I have suggested that shuffling by way of a random selection of an
external index:
> pop=create_pop_2(POP_SIZE, LEN)
[1] 48
> pop
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 1 1 0 0 1 0 1 1
[2,] 1 0 1 0 0 0 1 0
[3,] 1 1 0 1 0 1 0 0
[4,] 0 0 0 0 1 0 0 0
[5,] 1 0 0 1 1 1 1 1
[6,] 1 1 0 0 0 0 0 0
[7,] 0 0 0 0 0 0 0 0
[8,] 0 0 0 0 0 0 0 0
[9,] 0 0 0 0 0 0 0 0
[10,] 0 0 0 0 0 0 0 0
[11,] 0 0 0 0 0 0 0 0
[12,] 0 0 0 0 0 0 0 0
> dx <- sample(1:nrow(pop), nrow(pop) )
> dx
[1] 12 10 8 9 3 1 6 11 5 7 4 2
> pop[dx,]
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 0 0 0 0 0 0 0 0
[2,] 0 0 0 0 0 0 0 0
[3,] 0 0 0 0 0 0 0 0
[4,] 0 0 0 0 0 0 0 0
[5,] 1 1 0 1 0 1 0 0
[6,] 1 1 0 0 1 0 1 1
[7,] 1 1 0 0 0 0 0 0
[8,] 0 0 0 0 0 0 0 0
[9,] 1 0 0 1 1 1 1 1
[10,] 0 0 0 0 0 0 0 0
[11,] 0 0 0 0 1 0 0 0
[12,] 1 0 1 0 0 0 1 0
> (3) be able to compare two copies of these objects
> for equality and have it return True if only the rows have been
> shuffled.
I see two possible questions, the first easier (for me) than the
second. Do you want to work on a copy with a known permutation of
rows... or on a copy with an unknown ordering? In the first case I am
unclear why you would not create an original and a copy, work on the
copy, and compare with the original that is also sorted by the
external index.
>
>
> ______________________________________________
> 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.
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
More information about the R-help
mailing list