最近在看数据挖掘(生物医学)的论文,其中用到了R
source
source('analysis.r')#执行analysis.r文件
$
mecars$LS
取出mecars数据中LS这一列
c的作用
x<- c(1,2,3)
在R语言中 赋矩阵给x时需要 在矩阵前面加c
grep()搜索函数,搜索a中第一列存在’RNA-Seq’的列出来
grepl()搜索函数,搜索a中第一行存在’RNA-Seq’的列出来
grep('RNA-Seq',a$Assay_Type)
grepl('RNA-Seq',a$Assay_Type)
apply() 函数
apply(b,1,function(x)){
mean(x)
}
其中1代表行,2代表列。这里1代表对行进行循环操作,x代表对每行进行循环,类似于i。mean()表示平均值,b是数据矩阵
sort() 从小到大排
sort(apply(b,1,sd),decreasing = T)[1:50]
decreasing 表示取最大
b是数据矩阵
CreateSeuratObject
CreateSeuratObject(counts =data,project = "seurat",min.cells = 3,min.features = 50,name.delim = "_")
min.cells表示 在所有聚类中表达次数少于3的基因去除,
min.features表示 在每个细胞中表达基因少于50个的样本 要去除
R语言包的下载坑实在多,报错比较多
还有一直用解决办法https://www.jianshu.com/p/2caa2cdd00f1
载入需要的程辑包:GenomeInfoDb
Error: package or namespace load failed for ‘GenomeInfoDb’ in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]):
不存在叫‘GenomeInfoDbData’这个名字的程辑包
报错
source("http://bioconductor.org/biocLite.R")
Error: With R version 3.5 or greater, install Bioconductor packages using BiocManager; see https://bioconductor.org/install
> biocLite("GenomeInfoDb")
Error in biocLite("GenomeInfoDb") :
could not find function "biocLite"
最后用这个方法解决:
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("GenomeInfoDb")
R语言内置数据库
R语言内置数据库
apply() : 用于遍历数组中的行或列,并且使用指定函数来对其元素进行处理。
> a<-matrix(1:12,c(3,4))
> a
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
> apply(a,1,sum)
[1] 22 26 30
> apply(a,2,sum)
[1] 6 15 24 33
> apply(a,1,function(x) sum(x)+2)
[1] 24 28 32
R语言do.call 函数
list对象很难以文本的形式导出,因此需要一个函数能快速将复杂的list结构扁平化成dataframe。这里要介绍的就是do.call函数
R语言官方包网站:https://cran.r-project.org/
各种R语言版本:https://cran.r-project.org/bin/windows/base/old