I have the following data:
request user group
1 1 1
4 1 1
7 1 1
5 1 2
8 1 2
1 2
library(reshape)
# Make some fake data
dat <- data.frame(user = c(1,1,1,2,2,3), group = c(1,1,1,1,1,2), request = c(1,4,7,5,8,1))
# Add in an ordered id
newdat <- ddply(dat, .(user, group), transform, idx = paste("request", 1:length(request), sep = ""))
# Use cast to get what we want
cast(newdat, user + group ~ idx, value = .(request))
There is probably a nicer way to get what I call idx which is essentially what becomes the column title. It might be possible to do this without creating the newdat data set but this is what I thought of.