Я пытаюсь найти значение в строке ниже того, которое оценивается. Так, например, если у меня есть df X, и я хочу создать другую переменную с именем samp3, которая возвращает значение 1 каждый раз, когда B появляется в samp2, но я хочу, чтобы он возвращал одну строку выше B.
x <- data.frame(
samp1=c(5,6,7,5,4,5,10,5,6,7),
samp2=c("A","A","B","C","B","A","A","A","A","A")
)
x$samp3 <- ifelse(x$samp2 =="B", 1, NA)
Это будет работать, если он находится в той же строке, но я не уверен, как изменить это, чтобы вернуть значение 1 в строке выше.
В идеале я бы получил df, как показано ниже.
x <- data.frame(
samp1=c(5,6,7,5,4,5,10,5,6,7),
samp2=c("A","A","B","C","B","A","A","A","A","A"),
samp3=c(NA,1,NA,1,NA,NA,NA,NA,NA,NA)
)
Любая помощь будет принята с благодарностью!