У меня есть датафрейм в R, здесь есть пример
asdf <- data.frame(id = c(2345, 7323, 2345, 4533),
place = c("Home", "Home", "Office", "Office"),
sex = c("Male", "Male", "Male", "Female"),
consumed = c(1000, 800, 1000, 500))
Как вы можете видеть, дублируется один идентификатор, потому что у него есть два местоположения: Дом и Офис.Я хочу преобразовать каждую символьную переменную в фиктивную переменную и получить только один идентификатор без дублированных идентификаторов.Я уверен, что единственными дублированными значениями могут быть переменные "place".
Когда я применяю dummyVars из каретки, я не могу этого сделать, и для меня это поведение не имеет смысла, например, когдаЯ применяю следующее
dummy <- dummyVars( ~ ., data = asdf, fullRank = FALSE, levelsOnly = TRUE)
predict(dummy, asdf)
Я получаю следующий фрейм данных с дублированными идентификаторами
result <- data.frame(id = c(2345, 7323, 2345, 4533),
placeHome = c(1, 1, 0, 0),
placeOffice = c(0, 0, 1, 1),
sexFemale = c(0, 0, 0, 1),
sexMale = c(1, 1, 1, 0),
consumed = c(1000, 800, 1000, 500))
, но я хочу это
sexy_result <- data.frame(id = c(2345, 7323, 4533),
placeHome = c(1, 1, 0),
placeOffice = c(1, 0, 1),
sexFemale = c(0, 0, 1),
sexMale = c(1, 1, 0),
consumed = c(1000, 800, 500))