我正在尝试清理一个数据框,我想用另一列中的相应值替换一列中的 NA。我还想一次为多个列执行此操作。
示例数据框。
set.seed(123)
dates <- seq(as.Date("2016-01-01"), by = "day", length = 10)
names <- rep(c("John Doe", "Jane Smith"), each = 5)
var1_group <- runif(10)
var2_group <- runif(10)
var1_person <- runif(10)
var2_person <- runif(10)
myDF <- data.frame(names, var1_group, var2_group, var1_person, var2_person)
myDF <- cbind(dates, myDF)
Run Code Online (Sandbox Code Playgroud)
使用 dplyr 进行一些操作后...
myDF <- myDF %>% mutate_each(funs(lag), contains("group"))
myDF <- myDF %>% group_by(names) %>% mutate_each(funs(lag), contains("person"))
Run Code Online (Sandbox Code Playgroud)
我得到了一堆 NA...
dates names var1_group var2_group var1_person var2_person
1 2016-01-01 John Doe NA NA NA NA
2 2016-01-02 …Run Code Online (Sandbox Code Playgroud)