有没有一种方法可以将两个变异的 Dataframe 合并在一起?

g9icjywg  于 2023-06-03  发布在  其他
关注(0)|答案(2)|浏览(195)

所以我基本上有两个从单个 Dataframe 'original_data'变异的 Dataframe :
我在'original data'上使用了mutate函数,只保留<= 600秒的值,所有其他值都将返回NA,这存储在'new_data_one'中。
然后,我再次对'original data'使用mutate函数,以保持单个值>600,所有其他值将返回NA,这存储在'new_data_two'中。
这两个dataframe都保留了它们的结构,所以类似于这样:
'original_data'
'new_data_one'
'new_data_two'
我如何合并两个变异的 Dataframe ('new_data_one'和'new_data_two'),以便得到这样的输出(本质上保留相同的col/row结构)?
'desired_merged_dataframe'

gxwragnw

gxwragnw1#

replace(df1, is.na(df1), df2[is.na(df1)])

   X1 X2  X3  X4  X5
R1 80 98 150 599 650
R2 90 95 254 725  NA
R3 93 96 540 650  NA
library(tidyverse)
map2_df(df1, df2, coalesce)

# A tibble: 3 × 5
     X1    X2    X3    X4    X5
  <int> <int> <int> <int> <int>
1    80    98   150   599   650
2    90    95   254   725    NA
3    93    96   540   650    NA
roejwanj

roejwanj2#

下面是一个dplyr解决方案:

library(dplyr)

new_data_one %>%
  mutate(across(everything(), ~ coalesce(., new_data_two[[cur_column()]])))

  X1 X2  X3  X4  X5
R1 80 98 150 599 650
R2 90 95 254 725  NA
R3 93 96 540 650  NA

相关问题