Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 比较连续列单元格值并替换其他列值_R_Apply - Fatal编程技术网

R 比较连续列单元格值并替换其他列值

R 比较连续列单元格值并替换其他列值,r,apply,R,Apply,我有一个如下所示的数据框,其中比较了lse列中的连续值。如果lse 0的值后跟1,我想将lse的结束日期与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)){

我有一个如下所示的数据框,其中比较了
lse
列中的连续值。如果
lse 0
的值后跟
1
,我想将
lse
结束日期
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"
  }
}
for(长度为i(贷款测试1$lse)){
如果(长度(贷款测试1$lse)==0,长度(贷款测试1$lse)+1==1){
贷款测试1$END\u日期[i]
library(lubridate)
图书馆(tidyverse)
df
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