У меня есть набор данных опроса домохозяйств. В нем два опроса: один для физических лиц и один для домашних хозяйств. Один человек в каждом домохозяйстве отвечает на оба вопроса, тогда как все остальные члены домохозяйства отвечают только на индивидуальный опрос. Муниципальное местоположение находится только в человеке, который заполнил houehold. Набор данных представляет собой панель, поэтому каждое наблюдение проводится несколько раз для разных волн исследования. В общем, у меня есть что-то вроде этого:
df <- data.frame(id = c (11,11, 12,12,13, 13,14, 14,21, 21,22, 22,31, 31,32, 32,33, 33,34, 34,41, 41,42, 42,43, 43,44, 44,51, 51,61, 61,62, 62))
df$idhousehold <- c(1,1,1,1,1,1,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4, 5,5, 6, 6, 6,6)
df$municipality <- c(NA, NA, NA,NA, NA, NA,"A","A",NA, NA, "A", "A",NA, NA,NA, NA, "B", "B", NA,NA, "A", "A",NA,NA,NA,NA,NA,NA, "C", "C","B","B",NA, NA)
df$year <- c(1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2)
df
Что я в основном хочу сделать, так это назначить одинаковое муниципальное значение для каждого члена одной семьи. В приведенном выше примере это означает, что у каждого в домохозяйствах 1, 2 и 4 есть значение «A» для муниципалитета, для домохозяйств 3 и 6 у каждого есть B и C в 5. Я не могу сделать это вручную, потому что набор данных имеет около 130 тыс. Наблюдений.
Я пробовал несколько способов группировки данных и изменения новой переменной, но я не способен получить то, что хочу.
Спасибо за помощь!