Hello,

Try the following.


fun <- function(x, k){
    n <- length(x)
    cmb <- combn(n, k)
    apply(cmb, 2, function(j) x[j])
}

uplot <- unique(dat$plot)
fun(uplot, 2)

Hope this helps,

Rui Barradas
Em 14-11-2012 13:42, catalin roibu escreveu:
Hello again,
I want the individual plots aggregated by k-combination. I have 100 plots.
  For example I want all values of diameter (d) for combination of two plots
(plot 1 and 2, plot 1 and 3 etc) taken by 100.


On 14 November 2012 15:38, Rui Barradas <ruipbarra...@sapo.pt> wrote:

Hello,

This will give you a list of 19 elements, each element k is a matrix of
all combinations of 19 taken k at a time.

cmb <- lapply(seq_len(nrow(dat)), function(k) combn(nrow(dat), k))
d <- dat[["d"]]
lapply(cmb, function(cc) apply(cc, 2, function(j) d[j]))



Hope this helps,

Rui Barradas
Em 14-11-2012 13:32, catalin roibu escreveu:

  I want to aggregate all values of diameter after the combination between
plots. For example all diameter (d) values for combination of n plots
taken
by k.


On 14 November 2012 15:28, Rui Barradas <ruipbarra...@sapo.pt> wrote:

  Hello,
You forgot to Cc the list.
As for your question, you want all possible combinations of rows? For all
possible values of k in 1:19?

  sum(sapply(1:19, function(k) choose(19, k)))
[1] 524287

Or you want to split the data.frame by plot and the have all possible
combinations?

  sum(sapply(1:10, function(k) choose(10, k)))
[1] 1023

sum(sapply(1:9, function(k) choose(9, k)))

[1] 511

Rui Barradas
Em 14-11-2012 11:31, catalin roibu escreveu:

   I don't want to sum the data from all combination. I want to group

(aggregate) the all values resulted from all combination possible.
plot d
1 14
1 13
1 12
1 14
1 18
1 20
1 21
1 43
1 108
1 43
2 41
2 61
2 83
2 61
2 84
2 45
2 21
2 12
2 11


On 14 November 2012 13:25, Rui Barradas <ruipbarra...@sapo.pt> wrote:

   Hello,

Please use ?dput to post your data.

dput(MyData)  # paste the output of this in a post.

And you must be more clear, what does "aggregate" mean? To sum? In the
mean time see

?combn

Hope this helps,

Rui Barradas
Em 14-11-2012 11:11, catalin roibu escreveu:

   Dear R users,

I want to aggregate all *d *data from  all combination of n *plots*
taken

by k.
Thank very much!

My data is like that:
               plot              d  1 14  1 13  1 12  1 14  1 18  1 20
  1
21
    1
43  1 108  1 43  2 41  2 61  2 83  2 61  2 84  2 45  2 21  2 12  2 11
    ...  100
          10
100       12









______________________________________________
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.

Reply via email to