大家好,我是小伍,今天是23日,学生一般都返校了,很多学校都忙碌起来了。
今天给大家分享一个小技巧,快速区分肿瘤样本和正常组织。我们知道 ,肿瘤组织的样本一般都是有-01标志,而正常组织的样本有-11等标志。这时,我就想到了grep函数。
R语言的包里其表达式为:
grep(pattern, x, ignore.case = FALSE, perl = FALSE, value = FALSE,fixed = FALSE, useBytes = FALSE, invert = FALSE)
grepl(pattern, x, ignore.case = FALSE, perl = FALSE,fixed = FALSE, useBytes = FALSE)
可以理解为搜索字符向量中匹配参数pattern的模型,fixed的逻辑值决定将pattern视为正则表达式或一个文本字符串,若fixed=TURE,则视pattern为文本字符串(精确匹配);fixed=FALSE,则视之为正则表达式,正则表达式则相当于一种条件,函数返回匹配值的下标;perl=TURE,使用perl风格的正则表达式;value则决定返回的类型是匹配值的下标还是匹配的值。
### grep和grepl的区别在于grep返回的是匹配正确的字符串在 x 向量中的元素下标。而grepl返回的则是逻辑变量TRUE和FALSE。### 如果我们想要返回匹配正确字符的值要怎么办呢?我们可以通过设置grep中的value=T来达到目的。
有了以上基础,下面的事就好办了。
代码如下:
r1<-colnames(data)
r2<-grep(pattern = '-01',x = r1,value = T)
data<-data[,r2]
是不是感觉很简单方便,三行代码就搞定所有,拿去不谢。
如果您觉得有价值,请把此文放到您朋友圈,大家都会感谢你
联系客服