Может быть, следующие базовые параметры R могут помочь
p <- unstack(foo,Y~Time)
res <- data.frame(Time = gsub("X","",names(p)),
`colnames<-`(unname(t(p)),
paste0("R",seq(ncol(p)))))
res <- reshape(within(foo,ID <- ave(Y,Time,FUN = seq_along)),
direction = "wide",
idvar = "Time",
timevar = "ID")
res <- setNames(res,gsub("^Y\\.","R",names(res)))
такой, что
> res
Time R1 R2 R3
1 1 2 3 2
2 2 5 7 5
3 3 10 9 8
Данные
foo <- structure(list(Time = c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L),
Y = c(2L, 3L, 2L, 5L, 7L, 5L, 10L, 9L, 8L)), class = "data.frame", row.names = c(NA,
-9L))