[R] Selecting First Incidence from Longitudinal Data

arun smartpink111 at yahoo.com
Sat Feb 23 21:09:14 CET 2013


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 <xiaogangsu at gmail.com>
To: Rui Barradas <ruipbarradas at sapo.pt>
Cc: r-help at 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 <ruipbarradas at 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 at 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 at 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]
xgsu at uab.edu
xiaogangsu at gmail.com
https://sites.google.com/site/xgsu00/

    [[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.




More information about the R-help mailing list