[R] A question to get all possible combinations
G. Jay Kerns
gkerns at ysu.edu
Wed Dec 22 23:21:22 CET 2010
Dear Ron,
On Wed, Dec 22, 2010 at 1:19 PM, Ron Michael <ron_michael70 at yahoo.com> wrote:
> Let say, I have a matrix with 8 rows and 6 columns:
>
>> df1 <- matrix(NA, 8, 4)
>> df1
> [,1] [,2] [,3] [,4]
> [1,] NA NA NA NA
> [2,] NA NA NA NA
> [3,] NA NA NA NA
> [4,] NA NA NA NA
> [5,] NA NA NA NA
> [6,] NA NA NA NA
> [7,] NA NA NA NA
> [8,] NA NA NA NA
>
> Now I want to get **all possible** ways to fetch 6 cells at a time. Is there any function to do that?
>
A matrix is just a vector, so each possible sample of size 6 from df1
corresponds to a sample of size 6 from the vector 1:32. There are
many, many ways to get all of those (there are choose(32,6) such
samples). The way I do it is
library(prob)
urnsamples(1:32, size = 6)
and you can find lots of other, faster ways. If you store all of
those in a data frame A, say, then you can get all possible samples
from df1 with something like
apply(A, 2, function(x) df1[x]))
The good news is that the result will also be a matrix. Each row will
be a possible sample of size 6 from df1.
Hope this helps,
Jay
P.S. Note that urnsamples by default is replace = FALSE, ordered =
FALSE, which is how I got away with the short command above.
__________________________
G. Jay Kerns, Ph.D.
Youngstown State University
http://people.ysu.edu/~gkerns/
More information about the R-help
mailing list