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).
TA贡献1828条经验 获得超3个赞
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
- 3 回答
- 0 关注
- 893 浏览
添加回答
举报