On Mon, Apr 6, 2009 at 10:40 AM, baptiste auguie wrote:
> Here's one attempt with plyr, hopefully Hadley will give you a better
> solution ( I could not get cast() to do it either)
>
> test <-
> data.frame(a=c("A","A","A","A","B","B","B"),b=c(1,1,2,2,1,1,1),c=sample(1:7))
> ddply(test,.(a,b),.fun=
try this:
> x <- lapply(split(test, list(test$a, test$b), drop=TRUE), function(.data){
+ data.frame(a=.data$a[1], b=.data$b[1], c=paste(.data$c, collapse=','))
+ })
> do.call(rbind, x)
a b c
A.1 A 1 1,2
B.1 B 1 5,6,7
A.2 A 2 3,4
>
On Mon, Apr 6, 2009 at 10:38 AM, Daniel Brewer w
Here's one attempt with plyr, hopefully Hadley will give you a better
solution ( I could not get cast() to do it either)
test <-
data
.frame
(a=c("A","A","A","A","B","B","B"),b=c(1,1,2,2,1,1,1),c=sample(1:7))
ddply(test,.(a,b),.fun=function(.) paste(.)[3])
a b V1
1 A 1c(2, 4
3 matches
Mail list logo