że mam ramki danych tak:Fill w ramce danych z wierszy z wartościami powyżej
ID, ID_2, FIRST, VALUE
-----------------------
'a', 'aa', TRUE, 2
'a', 'ab', FALSE, NA
'a', 'ac', FALSE, NA
'b', 'aa', TRUE, 5
'b', 'ab', FALSE, NA
więc wartość jest ustawiana tylko dla FIRST = true raz na ID. ID_2 może być duplikatem między identyfikatorami, ale nie musi.
Jak umieścić numery z pierwszych wierszy każdego identyfikatora we wszystkich wierszach tego identyfikatora, tak aby kolumna WARTOŚĆ stała się 2, 2, 2, 5, 5?
Wiem, że mógłbym po prostu zapętlić wszystkie identyfikatory za pomocą pętli for, ale szukam bardziej wydajnego sposobu.
mi się podoba. Drobny dodatek do f4 do obsługi poprzednich NA. Ostatni wiersz powinien brzmieć: c (NA, x [który (isnotblank)]) [cumsum (isnotblank) +1] – DangerMouse
Świetna odpowiedź. f4 również działa z postaciami. – BCC
To jest genialne, ale przydałoby się jakieś wyjaśnienie. – C8H10N4O2