Hello all, I have the following function call to create a matrix of POP_SIZE rows and fill it with bit strings of size LEN:
pop=create_pop_2(POP_SIZE, LEN) I have 3 questions: (1) If I did keep_pop[1:POP_SIZE] == pop[1:POP_SIZE] to keep a copy of the original data structure before manipulating 'pop' potentially, would this make a deep copy or just shallow? Ie if I change something in 'pop' would it be reflected in 'keep_pop' too? (I don't think so, but just wanted to check). I would like two independent copies. (2) If I wanted to change the order of *rows* in my matrix 'pop', is there an easy way to shuffle these? I don't want to change anything in the columns, just the complete rowsn (E.g., in Python I could just say something like suffle(pop) assuming pop is a list of list) - is there an equivalent for R? (3) I would like to compare the contents of 'keep_pop' with 'pop'. Though the order of rows may be different it should not matter as long as the same rows are present. Again, in Python this would be simply if sorted(keep_pop) == sorted(pop): print 'they are equal' else print 'they are not equal' Is there an equivalent R code segment? Thanks, Esmail --------------- the code called above ------------- #################################################### # create a binary vector of size "len" # create_bin_Chromosome <- function(len) { sample(0:1, len, replace=T) } ############## create_population ################### # create population of chromosomes of length len # the matrix contains twice as much space as popsize # create_pop_2 <- function(popsize, len) { datasize=len*popsize print(datasize) npop <- matrix(0, popsize*2, len, byrow=T) for(i in 1:popsize) npop[i,] = create_bin_Chromosome(len) npop } ______________________________________________ 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.