当前位置:网站首页>超纲练习题不超纲
超纲练习题不超纲
2022-06-27 21:07:00 【生信技能树】
我们的生信入门班和数据挖掘线上直播课程已经有了三年多的历史,培养了一波又一波优秀的生信人才。本期分享的内容不是课堂上讲的,而是给了踮一踮脚能做出来的超纲练习题,启发学员主动学习,而不是一味等待投喂。
下面来看优秀学员徐谦同学的分享:
R语言超纲练习题
(生信技能树优秀学员徐谦)
这是目前马拉松授课线上直播课程的一道R语言部分的拓展题,最近的一期是下周一开课哦:
- 数据挖掘(GEO,TCGA,单细胞)2022年6月场,快速了解一些生物信息学应用图表
- 生信入门课-2022年6月场,你的生物信息学第一课
看到班里有同学写了超纲题解法,思路很赞,不过现在已经不超纲了,接下来的GEO课程小洁老师肯定也会强调这一常规操作,下面就针对性提出两种新的思路作为参考:
一、merge
不管soft和exp中的ID是否一直,直接交叉合并,不需再进行%in%和排的操作,代码如下:
exp <- read.csv("exp.csv")
anno <- read.table("soft.txt",header = T,sep = "\t")###注释文件和表达矩阵探针名对应的列名保持一致
colnames(exp)[1] <- "ID"
exp_new <- merge(exp,anno,by="ID")
##按照一样的理念,只保留第一次出现的基因名
exp_new <- exp_new[!duplicated(exp_new$GeneName),]
rownames(exp_new) <- exp_new$GeneName ###基因名变为行名
exp_new <- as.matrix(exp_new[,2:7])###转换为矩阵
二、祭出我们的神器tidyverse
对重复基因的处理,我个人实际操作中更倾向去取平均值最大的一行。这样就可以用神器dplyr和其他包来做,可以说Hadley大神改变的R的生态。具体代码如下,一步一步运行下就知道怎么来的了,可以选中管道符之前的代码,按Ctrl+Enter,这样没选中的代码就不运行了,挨个加上去看管道符操作了什么:
library(dplyr)
library(tibble)
colnames(exp)[1] <- "ID"
exp_new <- exp %>%
#合并探针的信息
inner_join(anno,by="ID") %>%
#去掉多余信息,select支持按列名和列号同时选择
select(c(GeneName,2:7)) %>%
#·增加一列,内容为每一行的平均数
mutate(rowMean =rowMeans(.[,-1])) %>%
#把表达量的平均值按从大到小排序
arrange(desc(rowMean)) %>%
# 去重,GeneName留下第一个
distinct(GeneName,.keep_all = T) %>%
#GeneName转换为行名
column_to_rownames(var="GeneName") %>%
#反向选择去掉平均值的那一列
select(-rowMean)
管道符后面的.可以代表管道符前面传入的数据,如果调用tidyverse的函数应该都是可以省略的,默认第一个参数,如果调用其他函数,用.代替就行。结果如下:
思想来自果子老师。
边栏推荐
- go日志包 log的使用
- CUDA error:out of memory caused by insufficient video memory of 6G graphics card
- The file or assembly 'cefsharp.core.runtime.dll' or one of its dependencies could not be loaded. Is not a valid Win32 Application. (exception from hresult:0x800700c1)
- golang - new和make的区别
- vivado VIO IP的用法
- webService
- apipost脚本使用讲解一~全局变量
- 本机部署一个MongoDB单节点服务器,并启用auth验证、开启oplog
- 小芯片chiplet技术杂谈
- 量化交易入门教程
猜你喜欢

How to set the enterprise wechat group robots to send messages regularly?

vmware虚拟机桥接连通

Teach you how to transplant tinyriscv to FPGA

Is the dog virtue training with a monthly salary of 30000 a good business?

Introduction to quantitative trading

vivado VIO IP的用法

【PCL自学:Segmentation4】基于Min-Cut点云分割

Discuz small fish game wind shadow legend business gbk+utf8 version template /dz game website template

Discuz淘宝客网站模板/迪恩淘宝客购物风格商业版模板

Summary of solutions to cross system data consistency problems
随机推荐
MySQL十八:写语句的执行过程
[网络]常见的请求方法
浙江大学课程攻略共享计划
Discuz淘宝客网站模板/迪恩淘宝客购物风格商业版模板
华为伙伴暨开发者大会2022 | 麒麟软件携手华为共建计算产业,共创数智未来
发射,接收天线方向图
Stream + Nacos
Discuz小鱼游戏风影传说商业GBK+UTF8版模板/DZ游戏网站模板
本机部署一个MongoDB单节点服务器,并启用auth验证、开启oplog
Small chip chiplet Technology
Prediction of benign / malignant breast tumors (logistic regression classifier)
Windows环境下的ELK——Logstash+Mysql(4)
Typora 1.2.5等版本下载
[electron] 基础学习
Stream + Nacos
What if Fiddler fails to listen to the interface
6G显卡显存不足出现CUDA Error:out of memory解决办法
第 2 章 集成 MP
小程序referer
[Blue Bridge Cup training 100 questions] scratch digital calculation Blue Bridge Cup competition special prediction programming question collective training simulation exercise question No. 16