我有兄弟姐妹的身高数据,这些兄弟姐妹分别嵌套在两个兄弟姐妹的家庭中:
ID family sibling height
1 1 1 1 103
2 2 1 2 100
3 3 2 1 102
4 4 2 2 98
5 5 3 1 104
6 6 3 2 100
7 7 4 1 98
8 8 4 2 94
9 9 5 1 95
10 10 5 2 111
11 11 6 1 112
12 12 6 2 113
使用 R,在每个家庭中,我想创建一个新变量,每个兄弟姐妹分配他或她的兄弟姐妹的身高值,如下所示:
ID family sibling height cosib_height
1 1 1 1 103 100
2 2 1 2 100 103
3 3 2 1 102 98
4 4 2 2 98 102
5 5 3 1 104 100
6 6 3 2 100 104
7 7 4 1 98 94
8 8 4 2 94 98
9 9 5 1 95 111
10 10 5 2 111 95
11 11 6 1 112 113
12 12 6 2 113 112
很容易对家庭的两个成员进行聚合,例如找到每个家庭的平均身高,但我无法弄清楚如何为每个人分配他或她的兄弟姐妹的身高。
我怀疑它可以使用 reshape 或 plyr 包来完成,但到目前为止我没有运气这样做。
编辑:另一个复杂情况是,在我正在使用的真实数据中,有时一个家庭中的一个或两个兄弟姐妹会丢失身高数据(NA 表示身高)。任何在高度有时缺失时仍然有效的解决方案将不胜感激。
谢谢!