[R] data manipulation
Martin Lam
tmlammail at yahoo.com
Thu Sep 8 19:12:30 CEST 2005
Hi,
This may not be the best solution, but at least it's
easy to see what i'm doing, assume that your data set
is called "data":
# remove the 4th column
data1 = data[,-4]
# remove the 3rd column
data2 = data[,-3]
# use cbind to add an extra column with only X1
#elements
data1 = cbind(data1, array("X1", nrow(data1), 1)
# use cbind to add an extra column with only X2
#elements
data2 = cbind(data2, array("X2", nrow(data2), 1)
# use rbind to add them together as rows
data3 = rbind(data1, data2)
# rename the names of the columns
colnames(data3) <- c("ID", "time", "X", "type")
# show output
data3
The only thing I couldn't figure out is how to sort
the data set per row, perhaps someone else could help
us out on this?
Martin
--- 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...
>
> Many thanks in advance,
>
> Bernard
>
>
> ---------------------------------
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>
______________________________________________________
Click here to donate to the Hurricane Katrina relief effort.
More information about the R-help
mailing list