为了账号安全,请及时绑定邮箱和手机立即绑定

生成一个虚拟变量

生成一个虚拟变量

慕仙森 2019-06-10 16:36:25
生成一个虚拟变量我无法在R中生成以下虚拟变量:我正在分析年度时间序列数据(时间周期1948至2009年)。我有两个问题:如何为观察#10生成一个虚拟变量,即1957年(1957年的值=1,否则为零)?如何生成一个虚拟变量,该变量在1957年之前为零,从1957年到2009年取值1?
查看完整描述

3 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

生成这些虚拟变量的最简单方法如下所示:


> print(year)

[1] 1956 1957 1957 1958 1958 1959

> dummy <- as.numeric(year == 1957)

> print(dummy)

[1] 0 1 1 0 0 0

> dummy2 <- as.numeric(year >= 1957)

> print(dummy2)

[1] 0 1 1 1 1 1

更广泛地说,您可以使用ifelse根据条件在两个值之间进行选择。因此,如果由于某种原因,例如,4和7,而不是0-1虚拟变量,您可以使用ifelse(year == 1957, 4, 7).


查看完整回答
反对 回复 2019-06-10
?
倚天杖

TA贡献1828条经验 获得超3个赞

使用假人:DUMIY():

library(dummies)


# example data

df1 <- data.frame(id = 1:4, year = 1991:1994)


df1 <- cbind(df1, dummy(df1$year, sep = "_"))


df1

#   id year df1_1991 df1_1992 df1_1993 df1_1994

# 1  1 1991        1        0        0        0

# 2  2 1992        0        1        0        0

# 3  3 1993        0        0        1        0

# 4  4 1994        0        0        0        1


查看完整回答
反对 回复 2019-06-10
  • 3 回答
  • 0 关注
  • 852 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信