My bad. I didn't try it out with the real data. Here you go. HTH, X

dat <- read.table(text="
ID    COMPL  SEX  HEREDITY
1    0      1      2
1    0      1      2
1    3      1      2
2    0      0      1
2    1      0      1
2    2      0      1
2    2      0      1
3    0      0      1
3    0      0      1
3    0      0      1
3    0      0      1
3    2      0      1
4    0      1      2
4    0      1      2
", header = TRUE)

dat0 <- dat[dat$COMPL!=0, ]
dat0$sequence <- as.vector(unlist(lapply(aggregate(dat0$ID,
by=list(dat0$ID),FUN=length)$x, FUN=function(x){seq(1, x)})))
dat0 <- dat0[dat0$sequence==1, ]
dat0



On Sat, Feb 23, 2013 at 2:09 PM, arun <smartpink...@yahoo.com> wrote:

> HI,
> Tried your approach:
>
>
>  dat1$sequence <- as.vector(unlist(lapply( aggregate(dat1$ID,
> by=list(dat1$ID),FUN=length)$x, FUN=function(x){seq(1, x)})))
>  dat0 <- dat1[dat1$sequence==1 & dat1$COMPL!= 0, ] #your second solution
>  dat0
> #[1] ID       COMPL    SEX      HEREDITY sequence
> #<0 rows> (or 0-length row.names)
>
>
> dat1[dat1$sequence==1,] #here the OP wanted first incidence where COMPL!=0
> #   ID COMPL SEX HEREDITY sequence
> #1   1     0   1        2        1
> #4   2     0   0        1        1
> #8   3     0   0        1        1
> #13  4     0   1        2        1
> A.K.
>
>
>
> ----- Original Message -----
> From: Xiaogang Su <xiaogan...@gmail.com>
> To: Rui Barradas <ruipbarra...@sapo.pt>
> Cc: r-help@r-project.org
> Sent: Saturday, February 23, 2013 2:15 PM
> Subject: Re: [R] Selecting First Incidence from Longitudinal Data
>
> Try this:
> dat$sequence <- as.vector(unlist(lapply( aggregate(dat$ID, by=list(x),
> FUN=length)$x, FUN=function(x){seq(1, x))))
> dat0 <- dat[dat$sequence==1, ]
>
> HTH, X
>
>
> On Sat, Feb 23, 2013 at 1:07 PM, Rui Barradas <ruipbarra...@sapo.pt>
> wrote:
>
> > Hello,
> >
> > You can use ?aggregate and ?head to do what you want. Try the following.
> >
> >
> >
> > dat <- read.table(text="
> >
> > ID    COMPL  SEX  HEREDITY
> > 1    0      1      2
> > 1    0      1      2
> > 1    3      1      2
> > 2    0      0      1
> > 2    1      0      1
> > 2    2      0      1
> > 2    2      0      1
> > 3    0      0      1
> > 3    0      0      1
> > 3    0      0      1
> > 3    0      0      1
> > 3    2      0      1
> > 4    0      1      2
> > 4    0      1      2
> > ", header = TRUE)
> >
> > aggregate(. ~ ID, data = subset(dat, COMPL != 0), head, 1)
> >
> >
> > Hope this helps,
> >
> > Rui Barradas
> >
> > Em 23-02-2013 14:28, Tasnuva Tabassum escreveu:
> >
> >  I have a longitudinal competing risk data of the form:
> >>
> >> ID    COMPL  SEX   HEREDITY
> >> 1     0       1      2
> >> 1     0       1      2
> >> 1     3       1      2
> >> 2     0       0      1
> >> 2     1       0      1
> >> 2     2       0      1
> >> 2     2       0      1
> >> 3     0       0      1
> >> 3     0       0      1
> >> 3     0       0      1
> >> 3     0       0      1
> >> 3     2       0      1
> >> 4     0       1      2
> >> 4     0       1      2.
> >>
> >> Where, COMPL= health complication of diabetic patients which has value
> >> labels   as  0= no complication,1=coronary heart disease, 2=retinopathy,
> >> 3=
> >> nephropathy.
> >>
> >>
> >> I want to select only the first complication that occurred to each
> >> patient.
> >> What R function can I use?
> >>
> >>         [[alternative HTML version deleted]]
> >>
> >> ______________________________**________________
> >> R-help@r-project.org mailing list
> >> https://stat.ethz.ch/mailman/**listinfo/r-help<
> https://stat.ethz.ch/mailman/listinfo/r-help>
> >> PLEASE do read the posting guide http://www.R-project.org/**
> >> posting-guide.html <http://www.R-project.org/posting-guide.html>
> >> and provide commented, minimal, self-contained, reproducible code.
> >>
> >>
> > ______________________________**________________
> > R-help@r-project.org mailing list
> > https://stat.ethz.ch/mailman/**listinfo/r-help<
> https://stat.ethz.ch/mailman/listinfo/r-help>
> > PLEASE do read the posting guide http://www.R-project.org/**
> > posting-guide.html <http://www.R-project.org/posting-guide.html>
> > and provide commented, minimal, self-contained, reproducible code.
> >
>
>
>
> --
> ==============================
> Xiaogang Su, Ph.D.
> Associate Professor & Statistician
> School of Nursing, University of Alabama
> Birmingham, AL 35294-1210
> (205) 934-2355 [Office]
> x...@uab.edu
> xiaogan...@gmail.com
> https://sites.google.com/site/xgsu00/
>
>     [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
>
>


-- 
==============================
Xiaogang Su, Ph.D.
Associate Professor & Statistician
School of Nursing, University of Alabama
Birmingham, AL 35294-1210
(205) 934-2355 [Office]
x...@uab.edu
xiaogan...@gmail.com
https://sites.google.com/site/xgsu00/

        [[alternative HTML version deleted]]

______________________________________________
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