无法合并数据框中的行。
我有这样的输入:
element tool time disease
AAK1 SE 12 SARS
AAK1 RI 12 SARS
AAK1 A5SS 12 SARS
AAK1 SE 12 MERS
AAK1 RI 12 MERS
AAK1 MXE 12 MERS
ABCC1 SE 12 SARS-CoV-2
ABCC1 MXE 12 SARS-CoV-2
ABCC10 SE 12 MERS
ABCC10 A3SS 12 MERS
我想要这样的输出:
element time disease SE RI MXE A3SS A5SS
AAK1 12 SARS and MERS 1 1 0 0 0
AAK1 12 SARS 0 0 0 0 1
AAK1 12 MERS 0 0 1 0 0
ABCC1 12 SARS-CoV-2 1 0 1 0 0
ABCC10 12 MERS 1 0 0 1 0
我希望函数做的是,第一个group_by
元素,你会得到这个:
element tool time disease
AAK1 SE 12 SARS
AAK1 RI 12 SARS
AAK1 A5SS 12 SARS
AAK1 SE 12 MERS
AAK1 MXE 12 MERS
AAK1 RI 12 MERS
- 将工具列拆分为5列,
SE RI MXE A3SS A5SS
- 使用SE RI MXE A3SS A5SS检查是否可以合并疾病列。
在这个例子中,只有SE和RI可以合并,因为它们同时存在于SARS和MERS(疾病列)中,不能合并的观察结果,请单独填写。
element time disease SE RI MXE A3SS A5SS
AAK1 12 SARS and MERS 1 1 0 0 0
AAK1 12 SARS 0 0 0 0 1
AAK1 12 MERS 0 0 1 0 0
以这种方式在每个元素上运行循环,并给予一个dataframe作为输出,这是我上面提到的。
1条答案
按热度按时间wecizke31#
您可以将
summarize
与paste
中的collapse
一起使用,以将共享element
,tool
和time
的疾病粘在一起。然后pivot_wider
展开列,tool
列中的length
作为填充参数(缺失值也用零填充)。