首页 > 解决方案 > 如何将两个数据集与R中列行中的公共元素合并

问题描述

我有 2 个数据集,一个大约 4000 行,另一个大约 1200 行。我想通过它们的 A 列合并这两个,以获得一个显示响应列的文件。但是,在 4000 行数据集的许多行中,名称是在另一个中找到的几个元素的组合,它们通常用和/或分隔。例如:

数据集 1:

(列)A:
F123 和 Y345
(Y2SD94 或 X230S0)和 S24KS
Y2300
。. .

数据集 2:

(列)A:Y2SD94 X230S0 F123 Y345 Y308 Y239S S24KS 。. .

(列)响应:23.3 25.3 22 21 25 26 35。. .

当行中没有组合时,我可以合并这两个文件。但是,我想知道是否有任何方法可以为最终文件中的所有元素粘贴这些组合的值?例如,对于“(Y2SD94 或 X230S0)和 S24KS”,我在目标文件中的行旁边得到三个单独的值作为响应。我非常感谢任何帮助。

数据集 2 行在这里:https ://gofile.io/d/KtEEQw

输出:

数据集_1

structure(list(gene = c("(YDL174C and YEL039C) or (YDL174C and YJR048W) or (YEL039C and YEL071W) or (YEL071W and YJR048W)", 
"(YDL178W and YEL039C) or (YDL178W and YJR048W)", "YAL060W", 
"(YEL039C and YML054C) or (YJR048W and YML054C)", "YGR032W or YMR306W or (YLR342W and YCR034W)", 
"YGR143W or YPR159W"), mean = c(NA_real_, NA_real_, NA_real_, 
NA_real_, NA_real_, NA_real_)), row.names = c(NA, -6L), class = c("tbl_df", 
"tbl", "data.frame"))

数据集_2

structure(list(gene = c("YLR295C", "YLR299W", "YLR300W", "YLR303W", 
"YLR304C", "YLR305C"), mean = c(11.04407422, 8.450484195, 10.55105282, 
12.5135945, 11.02718148, 7.120348496)), row.names = c(NA, -6L
), class = c("tbl_df", "tbl", "data.frame"))

标签: rmerge

解决方案


推荐阅读