Было бы достаточно создать новый фрейм данных, сравнивая ASSIST
с каждым из его значений и cbind
с исходным фреймом данных. Используя следующие данные:
ACCHW <- data.frame(ASSIST = c("NO", "FULL", "CHECK"), stringsAsFactors = F)
Попробуйте это:
cbind(ACCHW,
data.frame(x1 = ACCHW$ASSIST == "NO",
x2 = ACCHW$ASSIST == "FULL",
x3 = ACCHW$ASSIST == "CHECK"
)
)
#### OUTPUT ####
ASSIST x1 x2 x3
1 NO TRUE FALSE FALSE
2 FULL FALSE TRUE FALSE
3 CHECK FALSE FALSE TRUE
Помните, что TRUE == 1
и FALSE == 0
. Если вы действительно хотите, чтобы 0 и 1 делали то же, что и выше, но с as.integer
:
cbind(ACCHW,
data.frame(x1 = as.integer(ACCHW$ASSIST == "NO"),
x2 = as.integer(ACCHW$ASSIST == "FULL"),
x3 = as.integer(ACCHW$ASSIST == "CHECK")
)
)