我有以下数据:
library(dplyr)
d <- data_frame(
unique = c(1,2,3,4),
lat = c(NA, 87.6, 78.6, 67.7),
latitude= c(34.5, NA, 45.6, 34.8))
Run Code Online (Sandbox Code Playgroud)
我想要做的是当lat中有一个'NA'时(例如在第1列'lat'中有一个NA),取纬度值.所以我最终会得到一个名为'latitude_new'的新列(34.5, 87.6, 45.6, 34.8).
我确信这可以使用'来自dplyr的mutate来完成,我只是不太确定如何?
使用dplyr::coalesce第一个非缺失值替换所有NA
library(dplyr)
d %>% mutate(latitude_new = coalesce(lat,latitude))
# A tibble: 4 x 4
unique lat latitude latitude_new
<dbl> <dbl> <dbl> <dbl>
1 1 NA 34.5 34.5
2 2 87.6 NA 87.6
3 3 78.6 45.6 78.6
4 4 67.7 34.8 67.7
Run Code Online (Sandbox Code Playgroud)