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

______________________________________________
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