指定列交集内容合并-Rscript_v1.0
摘要
有的小伙伴有两张表格(本次只用xlsx格式的),然后想根据两张表格中指定列,比如基因名之类的,然后把两张表中共有基因的信息合并在一起,方便查看,避免两张表中间反复横跳,但奈何不知道怎么弄,最终只能是手动硬肝。
比如两张表:


然后需要交集基因的信息合并:

下面给小伙伴一个R小脚本,自己电脑安装一个R和一个Rstudio软件(都是免费的,别被某些教程给骗了,直接去官网下载正版,是免费开源软件,科研友好),然后把脚本复制过去就能用。
提示
请各位会生信的大佬绕路,本脚本只是一个菜鸡写来帮助小伙伴节省一点时间和精力的,如有不屑,请移步,谢谢!当然了,要是有想补充的,荣幸之至哦!
一、先下载安装R
R软件下载地址:
The Comprehensive R Archive Network
https://cran.r-project.org/

要是地址失效,就直接浏览器搜索R就行,一下子就出来了:

用啥浏览器都是一样的,不用纠结,点进去就是下面这样,你的电脑是什么系统,对应安装就好了 :

安装的话,就像安装微信/QQ之类软件是一样的方法,不熟悉的话就一键安装到底。额外建议:如果能操作的,可以在C盘以外的磁盘新建一个英文名(无特殊字符/符号)文件夹,然后将R安装在里面。
二、然后安装Rstudio
Rstudio下载官网:Download RStudio - Posit
https://posit.co/downloads/
或者直接浏览器搜 Rstudio:
不同电脑/浏览器/浏览器版本可能展示有点差异,不过问题不大,找打下载就行,不用纠结那么多 。然后安装也是一键式安装,熟悉电脑的可以把它和上面的R安装在一个文件夹下,方便后续有时候手动下载R包存放等处理。
安装好后,可能在桌面看不到Rstudio的软件图标,直接在你电脑的搜索框里面搜Rstudio,然后打开文件所在位置,将他发送到桌面就好了:
细心的小伙伴看到截图左上角的kimi了吧,刚开始学习时候,要一个一个函数变量之类的敲哦,后续熟悉了,想偷懒就把需求丢给AI,让他给你些写,然后自己纠正和优化一下就好了,是不是很方便。
简单吧,到这里软件就都安装好了。
三、脚本转移术
打开Rstudio软件::
你打开后可能是这样的界面:
是不是有点懵,下一步该咋弄,跟我用鼠标一起点点点:
你要是熟悉了,就直接ctrl+shift+N,一样的目的,都是为了新建一个写代码的面板 :
然后将下面的代码粘贴进去:
# 安装R包,如果安装了就不用再弄,跳过即可
install.packages("readxl")
install.packages("dplyr")
install.packages("writexl")# 加载包
library(readxl)
library(dplyr)
library(writexl) # 需要填写的内容
table1 <- "table1.xlsx" # 引号中填第一张表名字+文件格式
table2 <- "table2.xlsx" # 引号中填第二张表名字+文件格式
output_file <- "merged_result.xlsx" # 合并后保存文件名字
key_col <- "Gene Name" # 指定列列名df1 <- read_excel(table1, sheet = 1)
df2 <- read_excel(table2, sheet = 1)# 查看前5内容
print(head(df1, 5))
print(head(df2, 5))# 合并
merged <- inner_join(df1, df2, by = key_col)# 查看合并后结果
View(merged)# 保存结果
write_xlsx(merged, output_file) 然后ctrl+S保存,比如命名为Merge.R,保存位置你自己记得就行,然后关掉软件(直接叉掉就行)。
下一步,就是将保存的这个Merge.R脚本复制粘贴到一个特定的文件夹,这个文件夹中有需要进行交集合并的两个表格。

表格和脚本都丢附件里了,需要的自行下载或者私聊我发你(好像博客需要会员才能下载,多少有点离谱)。
table1和table2换成你自己的两张表格就好了,注意要根据某列进行合并的话,需要两张表中具有相同的指定列列名才行:
示例table1:

示例table2:

以“Gene Name”列为标准,将两张表中具有相同基因名的行信息进行合并:
双击上面的那个Merge.R脚本,会自动进入Rstudio,类似这样的:

红色框这里显示的就是脚本名字(因为我写得有其他脚本,所以会有很多个,忽略一下哈),第一次运行的话,我猜很多小伙伴都没有安装过分析包(蓝色宽是用到的包,第一次需要安装一下),先别急,看下去先。
开始运行脚本前,先设置一下黄色框中的信息,table1和table2后面的引号中分别是填两张表的文件名,注意格式只支持xlsx;output_file后面的引号中填你想将合并结果文件保存为什么名字;key_col后面的引号中填写根据哪一列进行交集合并。名字那些尽量别中文,全英文无特殊符号是最好的。
因为是第一次安装软件和运行,所以你直接将所有代码选中(ctrl+A也行),然后点击紫色框的Run(或者ctrl+enter也是一样的),代码就会全部运行,软件收到你给的指令开始安装分析所需要的R包(包很难理解的话,你可以理解为插件),安装后加载这些包,然后开始分析你给的数据,并将分析结果保存到当前文件夹里面(黑色标记):

给小伙伴看一下结果里面样子吧,是不是和上面的交集基因名和每个基因的信息是对称的:

好了好了,首次运行就完美结束了!!!
用完直接关闭软件(叉掉)就好了,下次要分析时候,直接将脚本和对应的表格复制粘贴 在一个文件夹里面,然后双击打开脚本,设置好黄色框里面的内容,然后将绿色框内容全部选中,直接运行就好了(蓝色框就不用运行了,因为你前面已经安装过这个R包了,这里只需要加载包即可)。

怎么样,比手动一个一个的去查找要省力一些吧?而且:
如果你要合并的表格很多,或者格式是txt、csv、TSV、xls等时候,你直接将这个代码丢给 AI,让AI给你改一下,你就可以拿来测试和使用了甚至你不想每次都弄代码之类的,也可以让AI给你将这个代码封装好,弄成一个可执行的文件之类的,直接双击就可以用。(建议敲敲代码吧,这个比较简单,学两下,然后结合AI,可以延伸出很长的路)。
四、其他
如果有其他需求,或者弄不来的,可以@我或者私信,我看到消息后帮你解决哦(简单的相互学习,复杂/麻烦的请勿打扰哈哈,小卡拉只是一个学习性质的小菜鸡 ,难堪大任)
