首页 > 解决方案 > 从一列值在 R 中创建一个二进制变量

问题描述

我需要从另一个具有 3 个值的变量创建一个虚拟变量。变量为 TR,取值为 Standard、Track_E、Non_standard。我想要一个新变量来区分 Track_E 的值为 1,其余为 0,这是标准和非标准的组合

这是我到目前为止尝试过的代码。

CPS2011_12HSOnly$TR=as.factor(CPS2011_12HSOnly$TR)   
CPS2011_12HSOnly$Yr_round <- ifelse(CPS2011_12HSOnly$TR == "Track_E", 1) 

它给出了以下错误:

ifelse(CPS2011_12HSOnly$TR == "Track_E", 1) 中的错误:缺少参数“no”,没有默认值

标签: rdata-analysisdummy-variable

解决方案


如错误消息中所述,ifelse缺少no参数。检查?ifelse

所以你需要做

CPS2011_12HSOnly$Yr_round <- ifelse(CPS2011_12HSOnly$TR == "Track_E", 1, 0) 

但是,您也可以不这样做ifelse

CPS2011_12HSOnly$Yr_round <- as.integer(CPS2011_12HSOnly$TR == "Track_E")

推荐阅读