R语言数据操作

作者: nnlrl | 来源:发表于2019-07-10 12:56 被阅读2次

列合并

cbind(a,b)
#根据列进行合并,即叠加所有列,a列的矩阵与b列的矩阵cbind()最后变成a+b列,合并前提:cbind(a, b)中矩阵a、b的行数必需相符
merge(a,b,by='colname')
#以某一列为基准对a,b进行合并

行合并

rbind(a,b)
#根据行进行合并,就是行的叠加,a行的矩阵与b行的矩阵rbind()最后变成a+b行,合并前提:rbind(a, b)中矩阵a、b的列数必需相符

数据排序

match(x, table, nomatch = NA_integer_, incomparables = NULL);
#匹配两个向量,返回向量x中的元素在table中出现的位置;

两数据的交集,并集,补集

交集

# 两个数值向量取交集
intersect(x=1:4, y = 2:6)
# [1] 2 3 4

# 两个字符向量取交集
intersect(x=letters[1:4], y = letters[2:6])
# [1] "b" "c" "d"

# 混合向量
intersect(x=c("a", "b", "c", 4), y = c("a", 2, 3, 4))
[1] "a" "4"

并集

# 两个数值向量取并集
union(x=1:4, y = 2:6)
# [1] 1 2 3 4 5 6

# 两个字符向量取并集
union(x=letters[1:4], y = letters[2:6])
# [1] "a" "b" "c" "d" "e" "f"

# 混合向量
union(x=c("a", "b", "c", 4), y = c("a", 2, 3, 4))
[1] "a" "b" "c" "4" "2" "3"

判断不同

x = 1:4
y = 2:6
# 找x中不同于y的元素
setdiff(x, y)
# [1] 1
# 找y中不同于x的元素
setdiff(y, x)
# [1] 5 6

判断是否相同

identical(a,b)
#返回逻辑型向量,相同返回True,不相同返回False
stopifnot(identical(a,b))
#不相同时会有红字

行名重复解决办法

处理一些转录组数据时,经常会发现有的基因名是相同的,并不可以作为行名,这时就需要对重复的基因名进行操作

data=avereps(data)
#对行取平均值,属于edgeR包
uniquifyFeatureNames(
  ID=paste0("ENSG0000000", 1:5),
  names=c("A", NA, "B", "C", "A")
)
#属于scater包,对重复的基因名采取前后叠加的方式获得不同的基因名,保证最大程度的数据保留

数据类型转换

dimnames=list(rownames(rt),colnames(rt))
data=matrix(as.numeric(as.matrix(rt)),nrow=nrow(rt),dimnames=dimnames)
#或者使用apply函数
apply(rt,1,as.numeric)

字符串操作

library(stringr)
rownames(exprSet) = str_split(rownames(exprSet),'[.]',simplify = T)[,1]
#常见的去除Ensembl基因名的版本号
group_list=ifelse(as.numeric(substr(colnames(exp),14,15)) < 10,'tumor','normal')
#常见的TCGA按照01和11划分癌症组织和癌旁组织

正则表达式的应用
\b 单词的开始或者结尾
. 匹配除了换行符之外的任意一个字符
\d 匹配一个数字,与[0-9]同理
\s 匹配任意的空白字符,包括空格,制表符,换行符
\w匹配一个字母,包括字符,下划线,汉字等
^ 匹配字符串的开头
$ 匹配字符串的结尾
? 指定内容重复0次或者1次
+ 指定内容重复1次至多次
* 指定内容重复0次至多次
{}指定前面内容重复的次数
[]匹配其中的任意一个字符(0-9,a-c)
()给字符分组,用\1,\2匹配

相关文章

  • R和Python数据结构对比

    本文内容概要: R语言数据结构及实例操作 Python语言数据结构及实例操作 R语言数据结构及实例解析 接下开始学...

  • R语言数据操作

    列合并 行合并 数据排序 两数据的交集,并集,补集 交集 并集 判断不同 判断是否相同 行名重复解决办法 处理一些...

  • 【R数据科学读书笔记】R语言中的管道操作

    R语言中的管道操作 这是R数据科学的读书笔记之一,《R数据科学》是一本教你如何用R语言进行数据分析的书。即便我使用...

  • 学习小组day3笔记——肖舒

    认识R语言和Rstudio R语言是一种自由软件编程语言与操作环境,主要用于统计分析、绘图、数据挖掘。R语言软件界...

  • R语言基本操作

    ##R语言数据的基本操作 例子:mtcars数据 str(mtcars) #结构 变量几个 table(mpg)...

  • dplyr包笔记

    dplyr包是R语言数据处理的神器,这里记录一点刚学到的东西。 以下操作基于R语言自带数据集"mtcars". 变...

  • R语言 CSV文件

    在R语言中,我们可以从存储在R语言环境外的文件中读取数据。 我们还可以将数据写入将被操作系统存储和访问的文件。 R...

  • R语言入门与基础绘图系统 1

    1. 什么是R语言? R语言是一种自由软件编程语言与操作环境,主要用于统计分析、绘图和数据挖掘。 R语言是从S语言...

  • 《学习小组Day 4笔记--JnG》

    今天是进行R语言操作的日子 1.首先是下载R语言啦以及其操作平台Rstudio 2.简单的入手R语言操作命令R语言...

  • R语言的plyr包简介

    R语言中的类SQL操作 plyr包可以进行类似于数据透视表的操作,将数据分割成更小的数据,对分割后的数据进行些操作...

网友评论

    本文标题:R语言数据操作

    本文链接:https://www.haomeiwen.com/subject/haockctx.html