[R] data manipulation
Sebastian Luque
spluque at gmail.com
Thu Sep 8 19:12:48 CEST 2005
Marc Bernard <bernarduse1 at yahoo.fr> wrote:
> Dear All,
> I would be grateful if you can help me. My problem is the following:
> I have a data set like:
> ID time X1 X2
> 1 1 x111 x211
> 1 2 x112 x212
> 2 1 x121 x221
> 2 2 x122 x222
> 2 3 x123 x223
> where X1 and X2 are 2 covariates and "time" is the time of observation and ID
> indicates the cluster.
> I want to merge the above data by creating a new variable "X" and "type" as
> follows:
> ID time X type
> 1 1 x111 X1
> 1 2 x112 X1
> 1 1 x211 X2
> 1 2 x212 X2
> 2 1 x121 X1
> 2 2 x122 X1
> 2 3 x123 X1
> 2 1 x221 X2
> 2 2 x222 X2
> 2 3 x223 X2
> Where "type" is a factor variable indicating if the observation is related to
> X1 or X2...
Say your original data is in dataframe df, then this might do what you
want:
R> newdf <- rbind(df[, 1:3], df[, c(1, 2, 4)])
R> names(newdf)[3] <- "X"
R> newdf$type <- substr(c(df[[3]], df[[4]]), 1, 2)
Cheers,
--
Sebastian P. Luque
More information about the R-help
mailing list