グループごとにカラムをインクリメントしようとしています。だから値があれば、前の値に基づいて値をインクリメントします。グループ単位でインクリメント
したがって、たとえばdfからdfbになります。
df <- data.frame(group = c("A", "A", "B", "B", "B", "C", "C", "C", "D", "D"),
num = c(1, NA, NA, 8, NA, 5, NA, NA, 10, NA))
dfb <- data.frame(group = c("A", "A", "B", "B", "B", "C", "C", "C", "D", "D"),
num = c(1, 2, NA, 8, 9, 5, 6, 7, 10, 11))
> df
group num
1 A 1
2 A NA
3 B NA
4 B 8
5 B NA
6 C 5
7 C NA
8 C NA
9 D 10
10 D NA
> dfb
group num
1 A 1
2 A 2
3 B NA
4 B 8
5 B 9
6 C 5
7 C 6
8 C 7
9 D 10
10 D 11
私の最高の試みはこれだったが、それは私の問題は、以前にひどく定義されているため
dfc <- df %>%
mutate(num = ifelse(is.na(num),lag(num) + 1, num))
が私の前の質問を削除した動作しませんでした。 助けてくれてありがとう!
以前の質問を削除した理由を削除した1における私の解決策は、同様に、新たな例で動作しますので、それは明らかではない – akrun