[R] column wise paste of data.frames
Sebastian Weber
sebastian.weber at physik.tu-darmstadt.de
Fri Jul 18 09:36:48 CEST 2008
Hi everybody!
I'm sure that I overlook something and feel quite stupid to ask, but I
have not found an easy solution to the following problem: Take e.g. the
Orthodont data from the nlme package:
> head(Orthodont)
Grouped Data: distance ~ age | Subject
distance age Subject Sex
1 26.0 8 M01 Male
2 25.0 10 M01 Male
3 29.0 12 M01 Male
4 31.0 14 M01 Male
5 21.5 8 M02 Male
6 22.5 10 M02 Male
Suppose now, that I have a vector which contains the names of the
"meta"-fields in this data-frame:
metaFields <- c("Subject", "Sex")
I now would like to form a new column "ID" which consists of the columns
in metaFields joined like the following:
> head(Orthodont)
Grouped Data: distance ~ age | Subject
distance age Subject Sex ID
1 26.0 8 M01 Male M01/Male
2 25.0 10 M01 Male M01/Male
3 29.0 12 M01 Male M01/Male
4 31.0 14 M01 Male M01/Male
5 21.5 8 M02 Male M02/Male
6 22.5 10 M02 Male M02/Male
Any paste commands I tried so far failed, e.g.:
Orthodont$ID <- paste(Orthodont[,metaFields], sep="/")
is simply wrong. Ok, I could add the columns within a loop to ID, but
that is not very elegant. Instead, what I need is a command that in
effect produces the output of
Orthodont$ID <- paste(Orthodont[,metaFields[1]],
Orthodont[,metaFields[2]] , sep="/")
There should be some way to do it in R - can someone please enlighten
me? Thanks a lot in advance.
Greetings,
Sebastian
More information about the R-help
mailing list