如何解决在 R 中透视/组合表以获取基于键 ID 列的行tidyverse?
我有一个表(表 1)将匹配的对作为行,如下所示:
ID | 邻居 |
---|---|
Cell_A | Cell_B |
Cell_A | Cell_C |
Cell_D | Cell_C |
Cell_D | Cell_E |
而我想要的是这样的表格:
ID | 邻居 | 邻居 |
---|---|---|
Cell_A | Cell_B | Cell_C |
Cell_D | Cell_C | Cell_E |
我曾尝试使用 ID 为 ~ neigbour 的 dcast,但最终得到一个 ID 列,然后每个 Cell_* 列为自己的列,而 NA 则没有匹配项(即 Cell_A/Cell_D = NA)。
我也试过pivot_wider(data = table1,id_cols = ID,values_from = neighbour)
并得到一个错误(错误 1:必须命名第 1 列)。
我在这里遗漏的明显步骤是什么?提前致谢!!
解决方法
这行得通吗:
library(dplyr)
library(tidyr)
df %>% group_by(ID) %>% mutate(N = row_number()) %>%
pivot_wider(ID,N,'Neighbour',values_from = Neighbour)
# A tibble: 2 x 3
# Groups: ID [2]
ID Neighbour1 Neighbour2
<chr> <chr> <chr>
1 Cell_A Cell_B Cell_C
2 Cell_D Cell_C Cell_E
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。