В настоящее время я пытаюсь провести логистическую регрессию, где одна из переменных представляет собой вектор из 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 на самом деле является фиктивной переменной для местоположения преступления на улице. Итак, столбец - МЕСТО.ОПИСАНИЕ, а элемент - улица.
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')
Я думал, что это сработает, потому что они получены из одного и того же набора данных, а макеты представляют каждый уникальный элемент одного из столбцов. Когда я ввожу каждую фиктивную переменную отдельно, это успешно, но я хочу сжать регрессию и сделать ее более эффективной.
заранее спасибо
variable lengths differ
. Возможно, это связано с тем, как вы создалиcrime.type
. Вы имели в видуcrime.type <- cbind(...)
? - person Suren   schedule 26.04.2018