У меня есть набор данных индивидуального уровня с демографической информацией о каждом человеке. Он также предоставляет уникальный идентификатор домохозяйства вместе с другими переменными:
id if_adult (>18 yrs old) marital_status
1 1 Single
1 1 Single
2 1 Married
2 1 Married
2 0 Married
В каждом домохозяйстве есть по крайней мере один взрослый, состоящий из одного или двух взрослых, состоящих в браке или в одиночку В некоторых домохозяйствах также есть дети. Я пытаюсь создать фиктивную переменную под названием «не состоящая в браке пара», которая будет правильно классифицировать домохозяйство, в котором ровно два взрослых. Очевидно, есть повторяющиеся строки с одинаковым идентификатором домохозяйства, поэтому я хочу, чтобы каждая из них была помечена правильно. В настоящее время код, который я имею:
individual_data$`unmarried couple` <- ifelse((individual_data$if_adult ==
"1" & individual_data$id == individual_data$id) &
individual_data$marital_status == "Single", "1","0")
Но это неверно классифицирует домохозяйства, возглавляемые одинокими людьми (то есть одинокие мамы и одинокие папы с детьми), как не состоящие в браке пары. Это ключевой момент - если я смогу это выяснить, это будет точно. Чтобы исправить эту проблему, я пытаюсь создать новую переменную, которая будет указывать общее количество взрослых в семье:
id if_adult (>18 yrs old) marital_status total_adults
1 1 Single 2
1 1 Single 2
2 1 Married 2
2 1 Married 2
2 0 Married 2
Затем создайте желаемую переменную, отфильтровав домохозяйства с одним водителем и установив условие, в котором должно быть не менее двух взрослых
individual_data$`unmarried couple` <- ifelse((individual_data$total_adults
== 2 & individual_data$id == individual_data$id) &
individual_data$marital_status == "Single", "1","0")
В конечном итоге я хочу, чтобы это выглядело так и для остальных данных:
id if_adult marital_status total_adults unmarried couple
1 1 Single 2 1
1 1 Single 2 1
2 1 Married 2 0
2 1 Married 2 0
2 0 Married 2 0
Заранее спасибо за отзывы и предложения