首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用相似的列名/相似的列串组合列- Reprex

用相似的列名/相似的列串组合列- Reprex
EN

Stack Overflow用户
提问于 2020-07-24 20:50:49
回答 1查看 151关注 0票数 1

目标:根据列名的相似性合并多个列。

问题:我正在处理一个复制列名的大型数据集,如下所示: wk1.1、wk1.2、wk1.3。对于每一行,相似的列名中只有一个值,其余的将是NA。合并是非常有用的,但是当我不得不列出每个列名时,就会变得乏味(混乱的自动化)。有没有一种基于字符串合并的方法?例如,下面我更愿意将%合并到%“wk1”中。

代码语言:javascript
复制
library(dplyr)
wk1.1 <- c(15, 4, 1)
wk1.2 <- c(3, 20, 4)
wk1.3 <- c(1, 2, 17)

df <- data.frame(wk1.1, wk1.2, wk1.3)
df[df < 14] <- NA
df1 <- df %>%
  mutate(wk1 = coalesce(df$wk1.1, df$wk1.2, df$wk1.3))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-24 20:52:13

我们可以把它和!!!连接起来

代码语言:javascript
复制
library(dplyr)
df %>%
      mutate(wk1 = coalesce(!!! .))
#  wk1.1 wk1.2 wk1.3 wk1
#1    15    NA    NA  15
#2    NA    20    NA  20
#3    NA    NA    17  17

或者另一种选择是reduce并应用coalesce

代码语言:javascript
复制
library(purrr)
df %>%
   mutate(wk1 = reduce(., coalesce))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63081296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档