簡體   English   中英

根據R中的二進制代碼定義虛擬變量

[英]Define a dummy variable based on binary code 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)

我想引入一個虛擬變量$PAIR_IDENTIFIER ,它在每次出現新的sex==1都采用一個新值。 問題在於sex變量沒有固定的模式。

您會看到有時后一個1出現在ith+2位置,然后出現在ith+2位置, ith+3

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

您只需使用cumsum即可做到這cumsum

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM