如何根据最后一次出现自动填充字符串

How to autofill a string according to a last occurrence

我有这样的数据集

10 .AAA
   .AAA
11 .BBB
   .BBB
20 .AAA
   .AAA

我想得到这个:

10 .AAA
10 .AAA
11 .BBB
11 .BBB
20 .AAA
20 .AAA

我想从上一行添加一大块字符串,直到出现另一大块。

我们可以将空格替换为 NA 并使用 tidyr

中的 fill
library(dplyr)
library(tidyr)
df1 %>%
   mutate(col1 = na_if(col1, "")) %>%
   fill(col1)