【发布时间】:2017-04-08 20:38:51
【问题描述】:
现在,我正在尝试从具有两个以上向量的变量中创建一个新的虚拟变量。更具体地说,我的数据集有一个“州”变量,我想制作一个虚拟变量,其中 1 = 北方的州,0 = 所有其他州。这是数据集的一部分(这是一个非常大的集合,所以我只包括基本数据):
Year StateICP 1 1940 71 2 1940 21 3 1940 22 4 1940 32 5 1940 18 6 1940 22 7 1940 45 8 1940 40 9 1940 33
所以我想做的是创建一个新列(称为“North”),如果 StateICP = 21、22、40 或 45,则新变量 = 1,否则为 0。比如我说,这是一个非常大的数据集(超过 1000000 个观察值),所以我无法手动逐行输入。我尝试了一个 ifelse 函数,但这只会给我错误。
我确信这并不复杂,但我对 R 还很陌生。我知道如何正常创建一个虚拟变量,但我被困在这里。任何帮助将不胜感激!谢谢!
【问题讨论】:
-
您的
ifelse是否类似于:ifelse(yourDF$StateICP %in% c(21, 22, 40, 45), 1, 0)?
标签: r