当前位置: 首页 > news >正文

指定列交集内容合并-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,可以延伸出很长的路)。

四、其他

如果有其他需求,或者弄不来的,可以@我或者私信,我看到消息后帮你解决哦(简单的相互学习,复杂/麻烦的请勿打扰哈哈,小卡拉只是一个学习性质的小菜鸡 ,难堪大任)

http://www.dtcms.com/a/524234.html

相关文章:

  • 基于单片机的牧场奶牛养殖系统设计(论文+源码)
  • 市场上有哪些主流的 MFT 管理软件?
  • webrtc弱网-PccNetworkController类源码分析与算法原理
  • 做任务得得q币的网站临沂seo排名外包
  • 豆浆机破壁机MCU控制方案开发设计-基于国产单片机开发
  • 基于开源链动2+1模式、AI智能名片与S2B2C商城小程序的预搜索机制优化研究
  • 基于开源AI智能名片链动2+1模式S2B2C商城小程序的微商本地化发展研究
  • 从“事后抢险”到“事前防控”:江西水投用 TDengine 时序数据库重塑防汛模式
  • 【Https】Received fatal alert: internal_error
  • 从 WebSocket 到 SSE,大模型应用绕不开的 SSE
  • 网站上线所需的东西哪里好浙江建筑培训网
  • 纯前端实现 篮球计分板 Demo
  • Opencv(一): 用Opencv了解图像
  • 彻底掌握 CSS 定位:深入理解 relative、absolute、fixed 与 sticky 的原理与实战
  • mybatis基本使用
  • Linux网络的应用层协议HTTP
  • SQLite Group By 指令详解
  • 监理建设协会网站wordpress关注微信登陆
  • 常用串行通信协议核心区别(含CAN、SPI、I2C、UART、RS-485、Ethernet、USB)
  • LangChain1.0发布
  • 压缩与缓存调优实战指南:从0到1根治性能瓶颈(五)
  • 使用 RPM 包在 Linux 7 上安装 MySQL 8
  • 云服务器2008做网站wordpress用thinkphp
  • 仓颉标准库std源码深度解析:构建全场景智能应用的基石
  • C4D域力场的应用之粒子随风飘散解析
  • 自己做的网站别人怎么访问安康网站建设公司电话
  • uniapp小程序实现手动向上滑动窗口
  • vue3:uniapp全局颜色变量配置思路:使用js变量
  • wordpress调用 别的网站昆明seo网站排名
  • 网站建设模板素材重庆互联网大厂