【发布时间】:2020-04-14 12:42:18
【问题描述】:
我有一个家庭面板调查数据集。它有两项调查:一项针对个人,一项针对家庭。每个家庭中的一个人都回答了这两个问题,而家庭中的所有其他人只回答了个人调查。市政位置仅在填充家庭的人中。数据集是一个面板,因此对于不同的研究波次,每个观察都存在多次。所以基本上我有这样的东西:
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 中的每个人在 5 中的值都为 B 和 C。我无法手动执行此操作,因为数据集有大约 13 万个观测值。
我尝试了多种方法来组合数据和改变新变量,但我无法得到我想要的。
感谢您的帮助!
【问题讨论】:
标签: r group-by dplyr panel-data