[英]compare consecutive columns cell values and replace the other column values
我有一個下面顯示的數據框,在這里我要比較lse
列中的連續值。 如果lse 0
的值后跟1
,我想將lse
的END_DATE
的值設為0
作為NA
輸入:
END_DATE lse
2016-01-20 0
2015-08-16 1
預期產量:
END_DATE lse
NA 0
2015-08-16 1
我已經嘗試過下面的代碼,但是它不起作用並且不會引發任何錯誤。
for (i in length(loan_test1$lse)){
if (length(loan_test1$lse) == 0 & length(loan_test1$lse)+1 == 1) {
loan_test1$END_DATE[i] <- "NA"
}
}
誰能幫我 ?
library(lubridate)
library(tidyverse)
df <- data.frame(END_DATE = seq.Date(from = (today()-99),to = today(),by=1),lse = sample(c(0,1), 100, replace = TRUE))
df <- df %>% mutate(leadlse = lead(lse))
condition <- df$lse == 0 & df$leadlse ==1
df$END_DATE[condition] = NA
df <- df %>% select(-leadlse)
df
或更簡單地說:
df <- data.frame(END_DATE = seq.Date(from = (today()-99),to = today(),by=1),lse = sample(c(0,1), 100, replace = TRUE))
df$END_DATE[(df$lse == 0 & lead(df$lse) == 1)] <- NA
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.