2016-05-09 3 views
1

Nehmen Sie das folgende Patientendatenbeispiel aus einem Krankenhaus.Definieren Sie eine Dummy-Variable basierend auf dem Binärcode in R

YEAR <- sample(1980:1995,15, replace=T) 
Pat_ID <- sample(1:100,15) 
sex <- c(1,0,1,0,1,0,0,1,0,0,0,0,1,0,0) 

df1 <- data.frame(Pat_ID,YEAR,sex) 

Ich möchte eine Dummy-Variable $PAIR_IDENTIFIER einzuführen, die jedes Mal, wenn ein neues sex==1 erscheint ein neuer Wert annimmt. Das Problem ist, dass es keine Konstante zu der sex Variable gibt.

Sie sehen manchmal die nachfolgende 1 erscheint in der ith+2 Position und dann ith+3 Position usw.

so $PAIR_IDENTIFIER <- c(1,1,2,2,3,3,3,4,4,4,4,4 .....)

Antwort

4

Sie dies einfach tun, indem Sie die cumsum verwenden,

df1$PAIR_IDENTIFIER <- cumsum(df1$sex) 
df1 
# Pat_ID YEAR sex PAIR_IDENTIFIER 
#1  54 1991 1    1 
#2  100 1992 0    1 
#3  6 1995 1    2 
#4  99 1994 0    2 
#5  42 1988 1    3 
#6  65 1990 0    3 
#7  53 1994 0    3 
#8  96 1987 1    4 
+1

fantastisch, so einfach! – lukeg

Verwandte Themen