Все в вопросе. Чтобы проиллюстрировать это, у меня есть следующий пример:
date <- c("01.02.2011","02.02.2011","03.02.2011","04.02.2011","05.02.2011","01.02.2011","02.02.2011","03.02.2011","04.02.2011","05.02.2011")
date <- as.Date(date, format="%d.%m.%Y")
ID <- c("A","A","A","A","A","B","B","B","B","B")
indicator <- c(NA,NA,NA,"2.025",NA,NA,"6.777",NA,NA,NA)
df <- data.frame(date, ID, indicator)
Итак, у меня есть один кадр данных, похожий на этот:
date ID indicator
1 2011-02-01 A <NA>
2 2011-02-02 A <NA>
3 2011-02-03 A <NA>
4 2011-02-04 A 2.025
5 2011-02-05 A <NA>
6 2011-02-01 B <NA>
7 2011-02-02 B 6.777
8 2011-02-03 B <NA>
9 2011-02-04 B <NA>
10 2011-02-05 B <NA>
Я хотел бы скопировать значения (поэтому не NA) в указатель столбца 1 раз в следующей строке, чтобы получить:
date ID indicator
1 2011-02-01 A <NA>
2 2011-02-02 A <NA>
3 2011-02-03 A <NA>
4 2011-02-04 A 2.025
5 2011-02-05 A 2.025
6 2011-02-01 B <NA>
7 2011-02-02 B 6.777
8 2011-02-03 B 6.777
9 2011-02-04 B <NA>
10 2011-02-05 B <NA>
Я пробовал с:
df[which(df$indicator != NA)+1, "indicator"] <-
, но мне не удается найти то, что я должен поставить после "< - «получить соответствующие значения? На самом деле мой фрейм данных имеет около 20000 строк, поэтому я не могу сделать это вручную.
Если требуется какое-либо редактирование, не стесняйтесь, дайте мне знать. Заранее спасибо за помощь