首页 > 解决方案 > 将缺失行的显式表示添加到数据框中?

问题描述

假设我有一个数据框

df <- tibble(name = c("Mark", "Frank"),
             value1 = c(3,7),
             value2 = c(8,2))

  name  value1 value2
  <chr>  <dbl>  <dbl>
1 Mark       3      8
2 Frank      7      2

但是,我知道缺少名称。有没有办法用 填充缺少的名称行NA

我想提供一个向量,例如

name_list <- c("Mark", "Frank", "Joe", "Bob", "Sam")

并获得一个数据框,例如

  name  value1 value2
  <chr>  <dbl>  <dbl>
1 Mark       3      8
2 Frank      7      2
3 Joe       NA     NA
4 Bob       NA     NA
5 Sam       NA     NA

我尝试使用tidyr::complete(),但它似乎不能用于此?

标签: rtidyrdata-cleaningdata-wrangling

解决方案


也许你应该试试full_join

dplyr::full_join(df, data.frame(name = name_list))

这使

# A tibble: 5 x 3
  name  value1 value2
  <chr>  <dbl>  <dbl>
1 Mark       3      8
2 Frank      7      2
3 Joe       NA     NA
4 Bob       NA     NA
5 Sam       NA     NA

推荐阅读