我想知道是否有使用 data.table 解决以下问题的干净解决方案,可能使用其他包,例如 stringr。
假设我有以下数据表
DT <- data.table(name = c("Carlos", "Henry", "John"),
ID = c("US115115, CH123232, AB155, US4445", "CH112, BB53", "US57677777"))
这看起来像:
name ID
1: Carlos US115115, CH123232, AB155, US4445
2: Henry CH112, BB53
3: John US57677777
我想要做的是创建另一列 ID2,例如,它采用列 ID 并仅提取“美国身份”并创建一个新列,以便最终数据表应如下所示:
name ID ID2
1: Carlos US115115, CH123232, AB155, US4445 US115115, US4445
2: Henry CH112, BB53 NA
3: John US57677777 US57677777
并且每个元素都是一个字符串。我已经能够编写一个版本,它采用第一个“美国身份”并丢弃其余部分,但我无法找到处理多重性的解决方案。
任何帮助将不胜感激!