在数据框中找到父值"树"结构体

时间:2018-04-20 11:44:25

标签: r apply

我有一个数据框(" mytable_df"),如下所示:

ID1     ID2     ID3     value
a       NA      NA      300
a       1       NA      50
a       2       NA      30
b       NA      NA      400
b       1       NA      60
b       1       1       20

本质上,这是一个树结构,其中(例如)第2行和第3行是第1行的子节点,第5行是第4行的子节点,第6行是第5行中父节点的子节点。

对于每一行,我都尝试使用' root'来识别来自直接父级的值。行,1和4,只是有自己的价值......给我:

ID1     ID2     ID3     value    parent
a       NA      NA      300      300
a       1       NA      50       300
a       2       NA      30       300
b       NA      NA      400      400
b       1       NA      60       400
b       1       1       20       60

我尝试过使用case_when和apply语句的组合,但我不知道如何比较当前行与父行等。

帮助! (请!)

*编辑Freddy的请求中的其他内容:

确定; tree是我的数据框,url1 - 4是我的ID

case_when (
                is.na(tree$url2) ~ tree$n,
                is.na(tree$url3) ~ tree$n[tree$url1 == tree$url1 & is.na(tree$url2)],
                is.na(tree$url4) ~ tree$n[tree$url1 == tree$url1 &
                                          tree$url2 == tree$url2 &
                                          is.na(tree$url3)],
                TRUE             ~ tree$n[tree$url1 == tree$url1 &
                                          tree$url2 == tree$url2 &
                                          tree$url3 == tree$url3 &
                                          is.na(tree$url4)]
                )

所以在[]条件下,我希望在数据帧中扫描第一个树$ url1并匹配引用特定行的第二个树$ url1。

0 个答案:

没有答案