10X单细胞测序-数据处理(R语言基本操作学习)

在学习单细胞数据的时候,使用 R 语言进行下游分析,作为生信工程师或者说是大数据工程师,甚至是程序员都无法记住所有 R 语言的使用,好记性不如烂笔头,记录下来(2022年7月13日):
1、biocondauctor 使用
官方网址:http://bioconductor.org/
在这里插入图片描述
点击 Install 之后:

在这里插入图片描述

Bioconductor 安装其他的包代码:

BiocManager::install()  #这里写包名

2、数据框(data.frame)使用:
数据框的创建:

data.frame()#里面输入向量,无论什么类型的向量

说到这里,我们可以讲讲 C() 函数,当你向C()函数里输入一堆数字,英文逗号分割时,它是数值型向量,当你向C()函数里输入一堆字符 (字符串) ,英文逗号分割时,它是字符型型向量。等等。但是,它的输入必须输入同一类型数据。
而在数据框里面,你可以用多个C()函数,并且输入多种数据类型的向量进行组合成数据框。
这里要深刻认识,向数据框输入的向量,变成了按列分布:

a = c(1,2,3,4,5,6)
b  = c("a","b","c","d","e","f") 
data.frame(a,b)

在这里插入图片描述
将其他数据类型强制转化成数据框类型(as.data.frame()函数):

a = list(姓名 = c("张三","李四","王五"),成绩 = c(60,85,90))
as.data.frame(a)

在这里插入图片描述
在这里插入图片描述
其他的数据结构也可以同一进行强制转换,这里就不一一转化了,另外,向量、列表、数组这三个在 R 语言中很常见,需要深入区分开。

数据框的使用:

切片使用,可以看作是二维数组进行访问:

a = list(姓名 = c("张三","李四","王五"),成绩 = c(60,85,90))
b = as.data.frame(a)
b[2,2]

在这里插入图片描述

输入列(行)名或是输入列(行)号

b["成绩"]
b[2]
b[2,]

在这里插入图片描述
在这里插入图片描述

数据框的修改:

本人在使用数据框的时候,使用了merge()函数,rbind()函数,cbind()函数
rbind()函数是加入一行的意思,cbind()函数是加入一列的意思,merge()函数是合并两个数据框的意思,这里着重学习merge()函数:

merge(x, y, by = intersect(names(x), names(y)),
      by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all,
      sort = TRUE, suffixes = c(".x",".y"), no.dups = TRUE,
      incomparables = NULL, ...)
#x,y是两个数据框,也可以使用其他的数据类型
#  intersect(names(x), names(y))的意思是通过两个数据框公共列名进行合并,等于取交集
#当合并要用到的共同列在数据框中的列名称不同时,不使用by,而用by.x = by, by.y = by,第一个为x数据框列名,第二个为y数据框列名
#all=TRUE相当于all.x=TRUE&all.y=TRUE
#all=FALSE相当于all.x=FALSE&all.y=FALSE
#若all.x=TRUE,则将在y中没有匹配的那些x数据也加入输出结果,y中没有的这些行将会产生NA值。默认是FALSE,只有x与y数据框均有的行会被包含在输出结果中。
#all=TRUE,取并集
#all.x=TRUE,all.y=FALSE:取x的全集与匹配的y数据
#all.x=FALSE,all.y=TRUE:取y数据框的全集与匹配的x数据框数据

3、apply()函数的学习使用:
apply()这个函数可以将数据框等二维或是多维度数据进行for循环
在这里插入图片描述
X为数据框,margin可以选择121代表行循环,2代表列循环FUN可以输入一个函数,比如mean函数,也可以自定义函数,其参数就是循环的那一列向量或是行向量,返回值是FUN函数的结果,一行行或是一列列返回,形成一个向量:

a = list(身高 = c(188,178,190),成绩 = c(60,85,90))
b = as.data.frame(a)
apply(b, 2, mean)
apply(b,1,sum)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值