小编Ant*_*nce的帖子

基于正则表达式合并数据框中的变量对

我想用来dplyr::coalesce查找包含多对变量的数据框中变量对之间的第一个非缺失值。目标是创建一个新的数据帧,现在每对变量只有一个副本(没有 NA 值的合并变量)。

这是一个例子:

df <- data.frame(
      A_1=c(NA, NA, 3, 4, 5),
      A_2=c(1, 2, NA, NA, NA),
      B_1=c(NA, NA, 13, 14, 15),
      B_2=c(11, 12, NA, NA, NA))


Expected output: 

A  B
1  11
2  12
3  13
4  14
5  15
Run Code Online (Sandbox Code Playgroud)

我猜测可以使用基于正则表达式的混合dplyr::coalescedplyr::mutate_at但我不知道该怎么做。有没有办法用 tidyverse 语法来完成这个任务?

谢谢!

编辑:感谢大家的回答!但是,我应该包含变量的命名约定,以便于将您的答案转移到我的实际问题上。对此我感到很抱歉。我的变量是地球化学变量,由两部分命名(化学元素名称加核心名称)。

示例:Al_TAC4.25.275其中Al是元素,TAC4.25.275是核心。我想为每个元素(名称的第一部分)合并来自 3 个不同核心(名称的第二部分)的数据。我有 25 对元素需要合并。

r coalesce dataframe dplyr purrr

8
推荐指数
3
解决办法
713
查看次数

标签 统计

coalesce ×1

dataframe ×1

dplyr ×1

purrr ×1

r ×1