У меня есть дата кадр, который выглядит примерно следующим способом:Как добавить к новой структуре данных предыдущие строки! R
x<-c(0,0,0,0,0,1,1,1,0,1,0)
y<-c(12,12,3,45,6,5,63,2,3,4,5)
z<-data.frame(x,y)
z
# x y
#1 0 12
#2 0 12
#3 0 3
#4 0 45
#5 0 6
#6 1 5
#7 1 63
#8 1 2
#9 0 3
#10 1 4
#11 0 5
Я хотел бы запустить функцию или цикл, который найти строки в x
, который приравнивает к 1
и добавить в новый фрейм данных этого строка и 4 предшествующие строки.
', который (г $ х == 1) 'дает вам индексы, для которых x равно 1. Вам нужны четыре предыдущих строки для всех этих индексов? – user1981275
Спасибо за комментарий. Да точно для каждого из них – Jack
Вы хотите, чтобы четыре блока данных (для строк в строке 6,7,8,10 'z')? Тогда вы можете сделать: 'lapply (which (z $ x == 1), function (x) z [(x-4): x,])'. Или вы хотите иметь только один кадр данных в конце? – user1981275