Hi
Thank you very much, but I forgot to tell that I also want to include the
patients for which no complication occurred. That is, for my data I want to
include patient no. 4, for which the COMPL value will be 0.

In that case, what R function should I write?


On Sat, Feb 23, 2013 at 12:23 PM, Xiaogang Su <xiaogan...@gmail.com> wrote:

> 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