【发布时间】:2020-04-06 16:21:03
【问题描述】:
我对 R 统计编程相当陌生,并且在创建虚拟变量以重新编码一列数据时遇到了一些问题。下面是数据集的一个sn-p:
年季度销售额 GNP 2002 1 696048 9740.5 2002 2 753211 9983.5 2002 3 746875 10048.0 2002 4 792622 10184.9 2003 1 704757 10206.2 2003 2 779011 10350.9 2003 3 756128 10332.2 2003 4 827829 10463.1
我尝试创建的三个新列是 d1、d2 和 d3。 d1 是一个虚拟变量,如果第 1 季度为 1,否则为 0,d2 是一个虚拟变量,如果第 2 季度为 1,否则为 0,d3 是一个虚拟变量,如果第 3 季度为 1,否则为 0。
我正在使用以下 R 代码来尝试完成此操作:
d1 <- ifelse(Quarter == 1, 1, 0)
Retail_Sales_vs_GNP <- data.frame(Retail_Sales_vs_GNP, d1)
d2 <- ifelse(Quarter == 2, 1, 0)
Retail_Sales_vs_GNP <- data.frame(Retail_Sales_vs_GNP, d2)
d3 <- ifelse(Quarter == 3, 1, 0)
Retail_Sales_vs_GNP <- data.frame(Retail_Sales_vs_GNP, d3)
但是,当我查看新列时,所有值都等于 0?如果第 1 季度,d1 应该等于 1,但它等于 0。我的代码的哪一部分需要修改才能完成?
【问题讨论】:
-
能不能秀一下你的预期
-
抱歉,由于某种原因我无法发布图片。但是预期的结果应该是这样的:d1 1 0 0 0 1 0 0 0 d2 0 1 0 0 0 1 0 0 d3 0 0 1 0 0 0 1 0
-
根据您的示例和描述,我发布了一个解决方案。请检查
标签: r