On 29.01.2013 13:10, mary wrote: > > Hi, > I've understand how to do a permutation matrix but how I can utilize it? > I would like to have a sample of 5 unit with rotation parameters! The same > with 10 unit or 20 unit...
You could rewrite your tab function that is accepts a list with named entries according to the names of your parameters. So if you've got a parameter matrix which looks like this: Matrix m: N, n, E, L, a 0, 0, 0, 0, 0 0, 0, 0, 0, 1 0, 0, 0, 0, 2 0, 0, 0, 1, 0, ...etc. you first add 1 to each entrey: m <- m + 1 then, you get a vector of indeices, i.e m[4,] would yield 1, 1, 1, 2, 1 (remember 1 hst been added to each index) You can write a function which extracts the parameters from the list # This assumes you have a parameter list which looks like this: # l: list(n = c(5, 10, 20), # a = c(0.1, 0.2, 0.3), # E = c(5,10), # L = c(0.01, 0.025, 1)) etc... # # # indVec:c(n= 1, a=1, E=2, L=1) # The function selects the approproate sub-list by the name getParam <- function(indexVec,l){ n <- names(indexVec) # get parameter names ret <- c() # create list to contain the parameter values for (i in 1:length(indVec)){ para <- l[[ n[i] ]] # get the right parameter # and choose the value specified by indexVec #Append the value to the list to be returned ret <- c(ret, para[ indVec[i] ]) } return(ret) } l <- list(n = c(5,10,20), a=c(0.1,0.2,0.3), E=c(5,10),L=c(.01, .025, 1)) r<-t(sapply(1:tl-1,permPar,li=l)) +1 getParam(r[1,],l) ## [1] 5.00 0.10 5.00 0.0 Hope this helps, Moritz -- GnuPG Key: 0x7340821E ______________________________________________ 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.