如何将列变量转换为互斥的格行?

时间:2019-03-25 20:11:50

标签: r

对标题表示歉意,为清晰起见,欢迎进行编辑。我有一个看起来像这样的表,其中包含多个案例以及每个案例的变量all以及变量B2。这些案例具有层次结构,因此这里B表示不是B的所有A,因此all总计为100。我想添加一个额外案例{{1 }}在B2B之间遵循此模式。

C

这是所需的输出。请注意,案例library(tidyverse) tbl <- tribble( ~case, ~all, ~B2, "A", 10, 5, "B", 20, 7, "C", 30, 10, "D", 40, 15 ) 的值为25,即上表的10 + 15。这些值已分别从B2C案例中减去。

D

这是我非常混乱的尝试,以获得期望的结果。我觉得应该有一些方法可以更好地对案例中的“层次结构”进行编码(通过排序?),而不必手动指定tbl_out <- tribble( ~case, ~all, "A", 10, "B", 20, "B2", 25, "C", 20, "D", 25, ) 并将表绑定在一起。有什么建议吗?

preceding

reprex package(v0.2.1)于2019-03-25创建

0 个答案:

没有答案