Dear Young, I am sorry, my bad, it should have been with(X, tapply(x, list(id, t), function(y) y ))
to get exactly what you asked for. HTH, Jorge On Wed, Jul 1, 2009 at 4:59 PM, Jorge Ivan Velez <jorgeivanve...@gmail.com>wrote: > Dear Young, > Try this: > > with(X, tapply(x, list(t,id), function(y) y )) > > HTH, > > Jorge > > > On Wed, Jul 1, 2009 at 1:35 PM, Young Cho <young.s...@gmail.com> wrote: > >> Hi, thanks everyone for any help in advance. >> >> I found myself dealing with a tabular time-series data formatted each row >> like [ time stamp, ID, values]. I made a small examples: >> >> X = data.frame(t=c(1,1,1,2,2,2,2,3,3,3,4,4,4,5,5),id = >> c('a','b','c','c','b','d','e','b','a','e','a','b','d','b','c')) >> X$x = rnorm(15) >> >> 't' is time stamp, 'id' is identifier, 'x' is time series values. They are >> not necessarily ordered and have sometimes missing values. In order to do >> any analysis, I used to convert this type of data into a matrix form : >> >> Y = matrix(NA,length(unique(X$id)),length(unique(X$t))) >> rownames(Y) = sort(unique(X$id)) >> colnames(Y) = sort(unique(X$t)) >> for(i in 1:nrow(Y)){ >> xi = X[ X$id == rownames(Y)[i], ] >> Y[i, match(xi$t, colnames(Y)) ] = xi$x >> } >> >> Then, run any R operations on Y. Now, this conversion gets very painfully >> slow as my data gets substantially larger. I was wondering if there is >> some >> better ways to convert a table like 'X' into a matrix like 'Y', or even >> better ways to re-format data, not necessarily matrix form. >> >> Young >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> 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. >> > > [[alternative HTML version deleted]] ______________________________________________ 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.