Hello,
Here's a way.
test <- as.data.frame(matrix(1:20, ncol = 5, nrow=4))
test.ind <- c(1,1,2,2,2)
lapply(split(colnames(test), test.ind), function(x) unlist(test[, x]))
Hope this helps,
Rui Barradas
Em 04-09-2012 15:40, Jannis escreveu:> Dear R users,
>
>
> imagine i have a dataframe and an indexing vector with the length of the
> amount of columns of the dataframe. Is there any convenient way to
> combine the colums of the dataframe into vectors (or straight away apply
> fundtions to these subsets) according to the indexing vector in a
> similar manner to the tapply function?
>
> For example, in the follwoing case, I would like to combine columns 1
> and two into one vector, and columns 3-4 into another:
>
> test = as.data.frame(matrix(1:20, ncol = 5, nrow=4))
> test.ind =c(1,1,2,2,2)
>
>
> Thanks a lot!
> Jannis
>
> ______________________________________________
> R-help at 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.