如何重新编码三水平因子

How to recode a three level factor

我的数据集包含各种child人的信息。我有一个复杂的因素问题。我有两个变量:Parent 1 finance 和 Parent 2 finance(取三个值之一:低、中、高收入)。我想创建第三个变量,"guardian finance",因为我的一些受试者只有一个 parent。我如何重新编码以便选择最高级别的财务,并且,如果 child 来自一个 parent 家庭,这将转移到新的 "Guardian" 变量。

       p1        n
      <int>    <int>
1      low     100
2      medium  306
3      high    96
        p2            n
       <int>       <int>
1      low         227
2      medium      230
3      high        243

如果我们想获得两个数据集中最高的'n',通过'p'列在两列之间进行连接,然后使用pmax到return 'n' 列之间的 max

library(dplyr)
inner_join(df1, df2, by = c("p1" = "p2") %>%
     mutate(n = pmax(n.x, n.y) %>%
     select(p1, n)