merge(Whole,Where.Lesion2)

gives the intersections (ID/Date/Segment/Slice, i.e. the first 4
columns), except that the merge function drops the original row.names
in the dataframe "Whole".

Now, the question evolves to finding row.names of one data frame that
matches any of the rows in another dataframe.

Gordon

On Sat, Mar 13, 2010 at 7:54 PM, Junqian Gordon Xu <xjq...@gmail.com> wrote:
> I have a multilevel dataframe (df):
>
>   ID             Date      Segment Slice Tract     Lesion
> 1 CSPP005 12/4/2007       1     1      LCST         0
> 2 CSPP005 12/4/2007       1     1      LPC           2
> 3 CSPP005 12/4/2007       1     1      RPC          3
> 4 CSPP005 12/4/2007       1     1      RCST        1
> 5 CSPP005 12/4/2007       1     1      LGM          0
> 6 CSPP005 12/4/2007       1     1      RGM          0
> 7 CSPP005 12/4/2007       1     1      Whole        NA
>
> The five levels are:
>
> ID->Date->Segment->Slice->Tract
>
> The observation variable is: Lesion
>
> What I want to do is (in pseudo code)
>
> if  (any of the Tract (for a given ID, Date, Segment, and Slice),
> which( Lesion == 2) )
>    df [ for that particular (ID, Date,Segment, and slice) ,
> which(Tract == Whole) ] $Lesion <- 2
> else
>    df [ for that particular (ID, Date,Segment, and slice) ,
> which(Tract == Whole) ] $Lesion <- 0
>
>
>
> I started with (don't know if this is the right path),
>
> Lesion2<-df[which(df$Lesion == 2),]
> Where.Lesion2<-unique(Lesion2[,1:4])
> Whole<-subset(df, Tract == "Whole")
>
> But stuck at how to match the ID/Date/Segment/Slice from Where.Lesion2 to 
> Whole.
>
> Regards
> Gordon
>

______________________________________________
R-help@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.

Reply via email to