3 回答

TA貢獻1830條經(jīng)驗 獲得超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根據(jù)條件在兩個值之間進行選擇。因此,如果由于某種原因,例如,4和7,而不是0-1虛擬變量,您可以使用ifelse(year == 1957, 4, 7).

TA貢獻1828條經(jīng)驗 獲得超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 關(guān)注
- 917 瀏覽
添加回答
舉報