R:如何根据R中的符号拆分特定列?

Cat*_*ine 6 split r

可能重复:
替换^和| 矩阵中的符号

上一条消息(替换矩阵中的^和| sybmbols)中,讨论了删除列表中符号的方法.

在这里,我想只替换矩阵的一列(Column Drug).例如:

Patient Hospital Drug Response
111     AAA      B+A  Good
222     CCC      B    Good
333     DDD      A+C  Bad+relapse
Run Code Online (Sandbox Code Playgroud)

以下格式.

Patient Hospital Drug1 Drug2 Response
111     AAA      B     A     Good
222     CCC      B     NA    Good
333     DDD      A     C     Bad+relapse
Run Code Online (Sandbox Code Playgroud)

使用R的方法是什么

jra*_*ara 16

像这样:

df <- data.frame(drug1 = c("B+A", "B", "A+C"))
df
df$drug2 <- lapply(strsplit(as.character(df$drug1), "\\+"), "[", 2)
df$drug1 <- lapply(strsplit(as.character(df$drug1), "\\+"), "[", 1)
df
Run Code Online (Sandbox Code Playgroud)

造成

> df
  drug1 drug2
1     B     A
2     B    NA
3     A     C
> 
Run Code Online (Sandbox Code Playgroud)