Hi, You are correct that you do not know what the correlations are from exactly. I tried to make up some examples to show you why.
###################################### #### Your Code #### N = 10 n = 100 m = 5 k = n/m l = matrix(0,nrow=m,ncol=N) for(i in 1:N){ for(j in 1:m){ x=rnorm(n,0,0.5) y=rnorm(n,0,0.8) ## inside for loops you need the print() command ## explicity if you want to see it ## Warning that this will create a lot of output print(l) l[j,i] = cor( (x[(((j-1)*k)+1):(((j-1)*k)+k)]), (y[(((j-1)*k)+1):(((j-1)*k)+k)])) } } # Let's break this down a bit to make it more understandable # First we do all the setup, straight forward enough N = 10 n = 100 m = 5 k = n/m l = matrix(0, nrow=m, ncol=N) # Now the for loops # Ignoring the outer one (for simplicity) you have for(j in 1:m){ ## rnorm() is called m times for both x and y ## which means every pass through the loop, ## their values will be different x=rnorm(n,0,0.5) y=rnorm(n,0,0.8) ## This just prints the values of l so far print(l) ## this assigns the results of the call to cor() to a particular ## cell in the matrix l l[j,i] = cor( ## You are finding the correlation between a subset of ## x and y values (based on the current values of i and j ## BUT, x and y themselves are changing everytime ## so what you are actually doing is taking a random sample ## and then taking a non-random subsample from this ## which should just work out to be a smaller random sample (x[(((j-1)*k)+1):(((j-1)*k)+k)]), (y[(((j-1)*k)+1):(((j-1)*k)+k)]) ) } # Another way to look at this that might make it a bit clearer # Going back to your full code N = 10 n = 100 m = 5 k = n/m l = matrix(0,nrow=m,ncol=N) ## create another matrix with same dimensions as l vals = matrix(0, nrow = m, ncol = N) for(i in 1:N){ for(j in 1:m){ x=rnorm(n,0,0.5) y=rnorm(n,0,0.8) ## create an object storing what values ## you are selecting (so we can see it later) vals[j, i] = paste((((j-1)*k)+1), (((j-1)*k)+k), sep = ":") l[j,i] = cor( (x[(((j-1)*k)+1):(((j-1)*k)+k)]), (y[(((j-1)*k)+1):(((j-1)*k)+k)])) } } ## now we can print the matrix of correlations ## and the the numbers used to subset them ## This lends some insight into the subsets being used ## but as I mentioned before, x and y are changing each time vals l # One way to get around this, would be to assign x and y # outside of your for loop # For instance, lets say you wanted to regenerate x and y only # for each column (rather than for every single correlation) # This makes some sense given the subsets you select # are unique within a column, but not across rows N = 10 n = 100 m = 5 k = n/m l = matrix(0,nrow=m,ncol=N) ## outer loop for(i in 1:N){ ## I have moved the assignment into the outer loop ## now x and y will only be regenerated N times ## rather than N * m times x=rnorm(n,0,0.5) y=rnorm(n,0,0.8) ## inner loop for(j in 1:m){ l[j,i] = cor( (x[(((j-1)*k)+1):(((j-1)*k)+k)]), (y[(((j-1)*k)+1):(((j-1)*k)+k)])) } } l # print matrix of correlations ########################## HTH, Josh On Sun, Sep 26, 2010 at 1:50 PM, jethi <kart...@hotmail.com> wrote: > > thanks a lot for ur patience and understandig, josh. ok perhaps it would be > help me to change my programm by step by step. the first important thing of > my programm is to caluculate the correlation of each block of a radom > variable. > > so i have a n bivariate random sample wich i saperate in m blocks and > calculate the correlation. i designe a matrix for that. so that i watch not > one n bivariate random sample, but N bivariate random sample. (its important > to watch a matrix because for my powerfunction later) > > so i programm my correlationfunction like that > > N=10 > n=100 > m=5 > k=n/m > l=matrix(0,nrow=m,ncol=N) > for(i in 1:N){ > > for(j in 1:m){ > x=rnorm(n,0,0.5) > y=rnorm(n,0,0.8) > l > l[j,i]=cor((x[(((j-1)*k)+1):(((j-1)*k)+k)]), > (y[(((j-1)*k)+1):(((j-1)*k)+k)])) > } > } > i think their is a mistake, am i right? if i watch this matrix, i don´t > exactliy know which correlations are to which random sample, do i? i hope u > have still time to help me. > > regards > jethi > > > -- > View this message in context: > http://r.789695.n4.nabble.com/the-function-doesn-t-work-tp2714105p2714702.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. > -- Joshua Wiley Ph.D. Student, Health Psychology University of California, Los Angeles http://www.joshuawiley.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.