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

2024-03-25

可能的重复:
替换 ^ 和 |矩阵中的符号 https://stackoverflow.com/questions/5564292/replacing-and-sybmbols-in-a-matrix

In 上一条消息 https://stackoverflow.com/q/5564292/429846(替换矩阵中的^和|符号),讨论了删除列表中符号的方法。

这里我只想替换矩阵的一列(药物列)。例如:

Patient Hospital Drug Response
111     AAA      B+A  Good
222     CCC      B    Good
333     DDD      A+C  Bad+relapse

为以下格式。

Patient Hospital Drug1 Drug2 Response
111     AAA      B     A     Good
222     CCC      B     NA    Good
333     DDD      A     C     Bad+relapse

用 R 的方法是什么?


像这样:

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

结果

> df
  drug1 drug2
1     B     A
2     B    NA
3     A     C
> 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R:如何根据R中的符号拆分特定列? [复制] 的相关文章

随机推荐