gpt4 book ai didi

r - 如何找到 Id 并将其放入新列

转载 作者:行者123 更新时间:2023-12-05 01:22:47 25 4
gpt4 key购买 nike

我是 R 的初学者,我使用 tidyverse 包。

我有这样的数据

ID   Jobs    Successors
1 JobA JobB;JobC
2 JobB JobD
3 JobC JobD
4 JobD

我想添加一个包含继任者 ID 的列,以便数据看起来像这样

ID   Jobs    Successors    SuccessorIds
1 JobA JobB;JobC 2;3
2 JobB JobD 4
3 JobC JobD 4
4 JobD

最佳答案

涉及 dplyrpurrr 的一个选项可能是:

df %>%
mutate(SuccessorsIds = map(.x = strsplit(Successors, ";", fixed = TRUE),
~ ID[match(.x, Jobs)]))

ID Jobs Successors SuccessorsIds
1 1 JobA JobB;JobC 2, 3
2 2 JobB JobD 4
3 3 JobC JobD 4
4 4 JobD <NA> NA

如果你不想要一个列表,而是一个字符向量:

df %>%
mutate(SuccessorsIds = map_chr(.x = strsplit(Successors, ";", fixed = TRUE),
~ paste0(ID[match(.x, Jobs)], collapse = ";")))

ID Jobs Successors SuccessorsIds
1 1 JobA JobB;JobC 2;3
2 2 JobB JobD 4
3 3 JobC JobD 4
4 4 JobD <NA> NA

关于r - 如何找到 Id 并将其放入新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59753168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com