【问题标题】:Replace values in dataframe 1 with corresponding values of dataframe 2 [duplicate]用数据框2的相应值替换数据框1中的值[重复]
【发布时间】:2018-04-22 11:24:30
【问题描述】:

我有两个数据框(小标题):

library(tidyverse)

dat_x <- tribble(
  ~id, ~month_1, ~month_2,
  "A", NA, NA,
  "B", NA, 0,
  "C", 0, 0
)

dat_y <- tribble(
  ~id, ~month_1, ~month_2,
  "A", 0, 0,
  "B", 0, 0,
  "C", 0, 30
)

我想用NA 替换dat_y 中的单元格,其中dat_x 中的相应单元格是NA。预期输出:

> expected_output
# A tibble: 3 x 3
#     id month_1 month_2
#  <chr>   <dbl>   <dbl>
#1     A      NA      NA
#2     B      NA       0
#3     C       0      30

我尝试使用purrr::map2(),但无法使其正常工作。

map2(dat_x, dat_y, ~ .y[is.na(.x)] <- NA) #Error: object '.y' not found

有人对此有一个优雅的解决方案吗?越紧凑和可读性越好:)。

【问题讨论】:

    标签: r dataframe lapply tidyverse purrr


    【解决方案1】:
    dat_y[is.na(dat_x)] <- NA
    

    应该够了吧?

    【讨论】:

      猜你喜欢
      • 2021-12-31
      • 2018-05-04
      • 2018-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2018-11-13
      相关资源
      最近更新 更多