Я пытаюсь привести в порядок фрейм данных в R. Мой файл необработанных данных включает 2 типа таблиц в массивном фрейме данных, и они помечены значением Record Indicator (RI) = 100 или 200.
- RI == 100 соответствуют важным деталям, таким как единица измерения (UOM) и идентификационные ссылки для следующих последовательных данных (RI == 200). Это столбцы RI, ID и UOM.
- RI == 200 соответствует данным, которые мне нужны во фрейме данных. Это столбцы RI, Measure1, Measure2, Measure3 и Time. Обратите внимание, что они не всегда имеют одинаковую длину, поскольку у меня может быть больше истории для определенных идентификаторов.
Пример моего df выглядит так:
RI Measure1 Measure2 Measure3 Time
100 Scott cm N/A N/A
200 1.6 0.2 1.5 0
200 1.3 0.5 0.6 1
200 8.1 7.5 0.8 2
100 James inches N/A N/A
200 0.1 0.1 0.5 0
200 0.1 0.1 0.3 1
200 0.5 0.5 0.6 2
200 0.1 0.5 0.1 3
Я добавил 2 столбца с начальными значениями в моем расширенном фрейме данных:
- df $ ID <- df $ Measure1 </li>
- df $ UOM <-df $ Measure2 </li>
Мне нужно заменить значения для всех RI = 200, чтобы они были равны предыдущему значению, чтобы опустить ID и UOM для каждой строки.
Наконец, я могу обрезать свои данные до df [df $ RI == 200,]
Как мне для данной строки (при условии, что это RI == 200), заменить значение для df $ ID и df $ UOM на предыдущее значение?
Вот что я пытался безрезультатно:
apply(df[df$RI==200,],1,function(x) {df$ID <-df$ID[-1]})