我试图根据多个其他列来填充一列的值,但我不知道该如何处理。下面是我正在使用的数据框的一个示例。每行代表一个人。women_line列是家庭中女性的索引。cluster_household列代表一个人是否在同一家庭中。同一cluster_家庭价值意味着那些人在同一个家庭里。宗教就是这个人是什么宗教。
| 妇女热线|集群_住户|宗教|
| - ------|- ------|- ------|
| 不适用|十一|不适用|
| 第二章|十一|第二章|
| 不适用|十一|不适用|
| 不适用|十一|不适用|
| 不适用|十一|不适用|
| 不适用|十一|不适用|
| 不适用|十一|不适用|
| 1个|1 2|三个|
| 不适用|1 2|不适用|
| 不适用|1 2|不适用|
所以问题是,女人是唯一一个回答家庭问题的人,所以只有她有宗教价值观,我想把她对宗教的回答应用到她家里的每个人身上。
例如:我希望将该女性(在women_line中表示为2)在religion(2)中的答案应用于她的cluster_household(1 1)中的每个人,以便为他们分配2,而不是用于religion的NA。我还希望对cluster_household 1 2中的女性执行相同的操作。我如何在R中执行此操作?
我试着做了一个ifelse和case_when,但是我甚至不知道我做得是否正确,或者这是否是正确的方法。
1条答案
按热度按时间velaa5lx1#
您可以在
dplyr::group_by
之后将tidyr::fill
与.direction = "downup"
一起使用:数据: