與累積和0-1列如下:填補我的數據在1之間
id <- c(1,1,1,1,1,1,2,2,2,2,3,3,3,3,3,3,3,3,3,4,4,4)
start <- c(NA, NA, NA, 1, NA, NA, NA, NA, 1, NA, NA, NA, 1, NA, NA, NA, NA, NA, 1, NA, NA, NA)
e <- as.data.frame(cbind(id, start))
我想全來港,每次累計總和的比喻開始了既可以當開始== 1或有一個新的ID。 我做了一個for循環,但是我的實際數據太長了for循環在最近的幾天內結束。有沒有辦法加快我的解決方案?我的目標變量可以抄錄如下:
e$target <- NA
for (i in 2:length(e$id)){
if (e$id[i]!=e$id[i-1]){
e$target[i] <- NA
} else {
e$target[i] <- e$target[i-1]+1
if (!is.na(e$start[i]==1)){
e$target[i] <- 0
}
}
}
根據您的可重複的示例,'id'3的最後一個元素,target將爲0。請您確認一下嗎? – akrun
@akrun,這是正確的 – user3349993