[R] how to generate a column based on other columns in a data frame

Peter Dalgaard P.Dalgaard at biostat.ku.dk
Mon Feb 11 17:56:28 CET 2008


Henrique Dallazuanna wrote:
> Try this:
>
> x2 <- merge(x, cbind(unique(x), Site=sprintf("S%d",
> seq_len(nrow(unique(x))))), by=c("X", "Y"))
> x2[order(x2$site)]
>   
That was (close to) my first thought as well. But what about

site <- with(x, interaction(X,Y, drop=TRUE))
levels(site) <- paste("S", seq_len(length(levels(site))), sep="")

-p

> On 11/02/2008, Weidong Gu <wgu at uab.edu> wrote:
>   
>> HI,
>>
>>
>>
>> I am working on a data set with multiple collections of mosquitoes at
>> sampling sites. Each row represents a collection of individual samples
>> with coordinates for each collection.
>>
>> ... X,  Y,...
>>
>> 1  36.435 30.118
>>
>> 2  36.435 30.118
>>
>> 3  36.435 30.118
>>
>> 4  35.329 29.657
>>
>> 5  35.329 29.657
>>
>> 6  36.431 30.111
>>
>> 7  36.431 30.111
>>
>> 8  35.421 29.797
>>
>> 9  35.421 29.797
>>
>> 10 35.421 29.797
>>
>>
>>
>> Unfortunately, there is no 'site' entry. I would like to add a column of
>> 'site' based on the coordinates of samples so that samples from the same
>> sites have the same site ID like S1, S2,....
>>
>>
>>
>> How to do this in R way? Thanks.
>>
>>
>>
>>
>>
>> Weidong Gu,
>>
>> Department of Medicine
>> University of Alabama, Birmingham
>> 1900 University Blvd., Birmingham, Alabama 35294
>> Email: wgu at uab.edu
>> PH: (205)-975-9053
>>
>>
>>
>>
>>         [[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.
>>
>>     
>
>
>   


-- 
   O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark          Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)                  FAX: (+45) 35327907



More information about the R-help mailing list