В настоящее время я пытаюсь провести логистическую регрессию, где одна из переменных является вектором из 32 фиктивных переменных.Каждый манекен представляет собой тип преступления.Например:
narcotics <- ifelse(train$PRIMARY.DESCRIPTION == "NARCOTICS", 1,0)
Затем создается вектор:
crime.type <- c(narcotics, theft, other.offense, burglary, motor.vehicle.theft, battery, robbery, assault, criminal.damage, deceptive.practice, kidnapping, etc.)
Логистическая модель выглядит следующим образом:
logit.mod.train <- lm(street1 ~ BEAT+WARD+X.COORDINATE+Y.COORDINATE+LATITUDE+LONGITUDE+crime.type, data = train, family = "binomial")
Важно отметить, что street1фактически фиктивная переменная для места преступления, находящегося на улице.Таким образом, столбец - LOCATION.DESCRIPTION, а элемент - улица.
street1 <- ifelse(train$LOCATION.DESCRIPTION == "STREET", 1,0).
Это приводит к этой ошибке:
Error in model.frame.default(formula = street1 ~ BEAT + WARD + X.COORDINATE + :
variable lengths differ (found for 'crime.type')
Я думал, что это будет работать, потому что они получены из одного и того же набора данных, а фиктивные элементы представляют каждый уникальный элемент одного из столбцов.Когда я ввожу каждую фиктивную переменную отдельно, она успешна, но я хочу сжать регрессию и сделать ее более эффективной.
Заранее спасибо