【发布时间】:2012-01-17 18:16:26
【问题描述】:
我有两个临床程序计费信息来源,我已将它们加在一起(与rbind)。在每一行中都有一个 CPT 字段和一个 CPT.description 字段,提供简要说明。但是,描述与这两个来源略有不同。我希望能够将它们结合起来。这样,如果使用了不同的单词或缩写,那么我只需进行字符串搜索即可找到我要查找的内容。
因此,让我们对我能够生成的数据表进行简化表示。
cpt <- c(23456,23456,10000,44555,44555)
description <- c("tonsillectomy","tonsillectomy in >12 year old","brain transplant","castration","orchidectomy")
cpt.desc <- data.frame(cpt,description)
这就是我想要达到的目标。
cpt.wanted <- c(23456,10000,44555)
description.wanted <- c("tonsillectomy; tonsillectomy in >12 year old","brain transplant","castration; orchidectomy")
cpt.desc.wanted <- data.frame(cpt.wanted,description.wanted)
我尝试过使用 unstack 和 lapply(list,paste) 等函数,但这并不是粘贴每个列表的元素。我也尝试过重塑,但没有分类变量来区分第一版或第二版描述,甚至在某些情况下是第三版。真正烦人的部分是几个月或几年前我遇到了类似的问题,有人在 stackoverflow 或 r-help 上帮助了我,而我终其一生都找不到它。
所以根本问题是,假设我面前有一个电子表格。我需要对相邻列中具有相同 CPT 代码的两个甚至三个描述单元格进行垂直合并(粘贴)。
我应该使用哪些流行语来寻找解决此问题的方法。 非常感谢您的帮助。
【问题讨论】:
-
如果您可以使用逗号而不是分号,您可以使用
aggregate(description ~ cpt, cpt.desc, toString)。将aggregate替换为您最喜欢的聚合工具,并将toString替换为paste,如下面的答案所述。