波<-c(1, 2, 3, 1, 2, 3, 1, 2, 1, 2)
id <-1:10
var1 <-c(6.341464, 13.206567, NA, 5.272296,2.746650, NA, 1.684472,1.874200, 15.861959, 3.938463)
var2 <-c(6.341464, 13.206567, NA, 5.272296,2.746650, NA, 1.684472,1.874200, 15.861959, 3.938463)
var3 <-c(6.341464, 13.206567, NA, 5.272296,2.746650, NA, 1.684472,1.874200, 15.861959, 3.938463)
df<- data.frame(wave,id,var1,var2,var3)
我尝试了循环但没有成功!
你可以使用
fill
这样的向下方向:
library(dplyr)
library(tidyr)
df %>%
fill(var1:var3, .direction = 'down')
#> wave id var1 var2 var3
#> 1 1 1 6.341464 6.341464 6.341464
#> 2 2 2 13.206567 13.206567 13.206567
#> 3 3 3 13.206567 13.206567 13.206567
#> 4 1 4 5.272296 5.272296 5.272296
#> 5 2 5 2.746650 2.746650 2.746650
#> 6 3 6 2.746650 2.746650 2.746650
#> 7 1 7 1.684472 1.684472 1.684472
#> 8 2 8 1.874200 1.874200 1.874200
#> 9 1 9 15.861959 15.861959 15.861959
#> 10 2 10 3.938463 3.938463 3.938463
创建于 2023-03-18 与 reprex v2.0.2