前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【R语言】rep函数生成差异表达分组变量

【R语言】rep函数生成差异表达分组变量

作者头像
生信交流平台
发布2022-09-21 18:42:40
5240
发布2022-09-21 18:42:40
举报

前面给大家介绍了【R语言】rep函数的使用,今天我们来举几个数据分析中的应用,例如差异表达分析时,样本类型变量,我们就可以使用rep函数来生成。

我们在GEO芯片数据差异表达分析 中分析的GSE68840这套数据,一共有7个样本,分别是

"plx4032 sensitivity: Sensitive" "plx4032 sensitivity: Sensitive" "plx4032 sensitivity: Sensitive" "plx4032 sensitivity: Resistant" "plx4032 sensitivity: Resistant" "plx4032 sensitivity: Resistant" "plx4032 sensitivity: Resistant"

3个Sensitive,4个Resistant,所以我们使用的是,下面这条命令

代码语言:javascript
复制
mRNA_sample_type=factor(c(rep("sensitive",3),rep("resistant",4)))

可以得到如下这个样本类型的因子,

有人肯定会好奇了,如果样本类型不是3个Sensitive,4个Resistant这种一类在一起的,该怎么处理呢?

我们再来看几个例子

假如我们的样本类型是下面这样的,交替排布的

normal tumor normal tumor normal tumor

代码语言:javascript
复制
rep(c("normal","tumor"),3)

再比如多出一个normal

normal tumor normal tumor normal tumor normal

代码语言:javascript
复制
c(rep(c("normal","tumor"),3),"normal")

有人又要说了,你这不还是很规律的吗?如果完全没有规律,该怎么处理。例如下面这样的。

normal tumor tumor normal tumor normal tumor

我们给大家介绍三种方法吧!

方法一、简单粗暴,但work,就是有点累,c()是yyds

一个一个敲出来,在样本数超过二三十就不建议使用这种方法了,费眼睛,费键盘。

代码语言:javascript
复制
c("normal","tumor","tumor","normal","tumor","normal","tumor")

方法二、巧用因子,事半功倍

【R语言】R中的因子(factor)

【R语言】因子在临床分组中的应用

我们不用敲完整的样本类型名字,用数字来代替,然后再用factor转回来。

代码语言:javascript
复制
#1=normal
#2=tumor
factor(c(1,2,2,1,2,1,2),levels=c(1,2),labels=c("normal","tumor"))

你会发现跟用c()得到的结果是一样的

方法三、登堂入室,活学活用

我们联合使用,strsplit函数+factor函数

在方法二中,我们相当于还是要用c()先创建一个数值向量,逗号还是要敲的。方法三,逗号都省了。我一直觉得“懒人”是第一生产力!

代码语言:javascript
复制
gsms <- "1221212"
#字符串分割成向量
sml <- strsplit(gsms, split="")[[1]]
#转成因子
gs <- factor(sml)
#将数字替换成样本类型
levels(gs) <- c("normal","tumor")
gs

上面介绍的三种方法,在样本数比较少的时候还是比较好用的,但是一旦样本数上百,上千了,以上三种方法都不太适用,后面我们再把“意大利炮”拉出来!大家先把鸟枪使好。

参考资料:

【R语言】rep函数的使用

GEO芯片数据差异表达分析

【R语言】R中的因子(factor)

【R语言】因子在临床分组中的应用

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信交流平台 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档