R 自动填充变量中的空白直到下一个值

Dat*_*124 3 r dplyr

我想用一个值自动填充 R 中的变量,直到达到列中的下一个值。

我想把这个:

    X  Y       
    a  1
       1
       1
    b  1
       1
       1
    c  1 
Run Code Online (Sandbox Code Playgroud)

进入:

    X  Y       
    a  1
    a  1
    a  1
    b  1
    b  1
    b  1
    c  1 
Run Code Online (Sandbox Code Playgroud)

A T*_*oll 5

你可以这样做tidyr::fill

library(tidyr)
mydf <- data.frame(X = c('a', NA, NA, 'b', NA, NA, 'c'), Y =rep(1,7))
mydf %>% fill(X)

  X Y
1 a 1
2 a 1
3 a 1
4 b 1
5 b 1
6 b 1
7 c 1
Run Code Online (Sandbox Code Playgroud)