[R] Matching data to a new column
Luc Villandre
villandl at dms.umontreal.ca
Fri Jun 26 16:54:15 CEST 2009
Hi Laura,
The function merge() works well, but another elegant to do it would
involve match().
(Assuming your data.frame object is called x)
> x$motherAge <- with(x, age[match(mothers.I.D,I.D)])
Cheers,
--
*Luc Villandré*
/Biostatistician
McGill University Health Center -
Montreal Children's Hospital Research Institute/
John Kane wrote:
> x <- "I.D age 'MID'
> 01 5 03
> 02 6 06
> 03 16 NA
> 04 8 06
> 05 3 NA
> 06 17 NA"
>
> xx <- read.table(textConnection(x), header=TRUE); xx
> closeAllConnections()
>
> ag1 <- xx[, c(1,2)] ; ag1
> ag2 <- xx[, c(1,3)] ; ag2
> names(ag2[2]) <- "I.D"
>
> merge(ag1,ag2, by="I.D")
>
>
> --- On Fri, 6/26/09, Kubasiewicz, Laura <laura.kubasiewicz08 at imperial.ac.uk> wrote:
>
>
>> From: Kubasiewicz, Laura <laura.kubasiewicz08 at imperial.ac.uk>
>> Subject: [R] Matching data to a new column
>> To: "r-help at r-project.org" <r-help at r-project.org>
>> Received: Friday, June 26, 2009, 6:55 AM
>>
>> Hi all,
>>
>> I wonder if anyone can help,
>>
>> I have a dataframe with columns for...
>>
>> 'I.D' 'age' 'mothers I.D'
>> 01 5
>> 03
>> 02 6
>> 06
>> 03 16 NA
>> 04 8
>> 06
>> 05 3
>> NA
>> 06 17 NA
>>
>> I need to create a new column for 'mothers age' which puts
>> the age of the individual with 'mothers i.d' into the row
>> for her offspring (so individual 01 would have 16 in the
>> mothers age column, as thats the age of individual 03)
>>
>> Hope that makes sense, any help appreciated,
>>
>> Thanks
>> Laura
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help at 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.
>>
>>
>
>
> __________________________________________________________________
> Be smarter than spam. See how smart SpamGuard i
> ions in Mail and switch to New Mail today or register for free at http://mail.yahoo.ca
>
> ______________________________________________
> R-help at 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.
>
More information about the R-help
mailing list