首页 > 解决方案 > 组合两个变量以创建新变量

问题描述

我想将两个只有一个答案的变量组合成一个有两个答案的变量。

例子

IPV_YES 仅具有 1 的答案 IPV_NO 仅具有 2 的答案

我想将它们组合成一个名为 IPV 的变量,该变量将具有来自两个单独类别的 1 和 2 结果。

我试过使用 ifelse 命令,但它只显示了 IPV_YES 的值。

我拥有的数据集 数据集

我想要的结果 期望的结果

标签: rif-statementmerge

解决方案


我们可以coalesce在转换为之后''使用NA

library(dplyr)
df <- df %>%
    transmute(ID, IPV = coalesce(na_if(IPV_YES, ""), na_if(IPV_NO, ""))) %>%
    type.convert(as.is = TRUE)

数据

df <- data.frame(ID = 1:4, IPV_YES = c(1,"",1,""), IPV_NO = c("",2,"",2))

推荐阅读