Позвольте мне уточнить. В принципе, у меня есть кадр данных с 4 столбцами, а в одном из столбцов есть NA. Когда NA происходят, они всегда встречаются в группах. Я зацикливаюсь по этому кадру данных по строкам, глядя на столбец. То, что я хочу сделать, - это как только я найду NA, я хочу подмножить фрейм данных из этой строки в строку с последним вхождением NA, прежде чем я получу нормальное значение.Как подмножить фрейм данных в R на основе следующего вхождения?
Так, например, скажем, мы посмотрим на мой кадр данных ДФ:
C1 C2 C3 C4 C5 C6
R1 2 1 2 1 0 0
R2 2 2 1 1 0 0
R3 0 0 1 1 2 1
R4 2 2 1 NA 0 0
R5 0 0 1 NA 2 1
R6 0 0 1 NA 2 1
R7 2 2 1 NA 0 0
R8 0 0 1 1 2 1
R9 2 1 2 1 0 0
R10 2 2 1 1 0 0
R11 0 0 1 1 2 1
R12 2 2 1 NA 0 0
R13 0 0 1 NA 2 1
R14 0 0 1 NA 2 1
Как я тогда петля через ф.р. по строкам, я прийти через первый NA в строке 4, я тогда хочу Подмножество df из строки 4 в строку 7, где последний NA находится в этой конкретной группе NA.
Подгруппа:
R4 2 2 1 NA 0 0
R5 0 0 1 NA 2 1
R6 0 0 1 NA 2 1
R7 2 2 1 NA 0 0
Обратите внимание, что я не подмножество всех строк с НС, только текущую «группу» НС я смотрел. Я не подмножался из строк 12-14.
Как это сделать?
Вы хотите, чтобы каждый набор этих строк (с последовательными строками NA) в списке? (если у вас больше строк, где это может произойти более одного раза). – Arun
И это только C4, у которого всегда есть NA? – Arun
@Arun, я хотел бы подмножество в новый фрейм данных, поэтому, рассмотрев вышеприведенный пример, как только я натолкнулся на NA в строке 4, мне бы хотелось найти последний NA на участке NA, а затем подмножество соответственно. Поэтому в основном я бы хотел, чтобы мой подмножество был следующим: subset = df [4: 7,]. Проблема состоит в том, чтобы узнать последнюю строку до конца. – user2560984