前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言学习笔记-Day4

R语言学习笔记-Day4

原创
作者头像
用户11190095
发布2024-07-06 19:23:42
1350
发布2024-07-06 19:23:42
举报
文章被收录于专栏:生信学习笔记
代码语言:r
复制
jimmy <-  function(a,b,m = 2){
  (a+b)^m
}
jimmy(5,6,2)
代码语言:r
复制
## [1] 121
代码语言:r
复制
if(!require(data.table))install.packages(data.table)
library(data.table)
if(!require(rio))install.packages("rio")
library("rio")
if(!require("tibble"))install.packages("tibble")
library("tibble")
if(!require("ggplot2"))install.packages("ggplot2");library("ggplot2")
if(!require("ggpubr"))install.packages("ggpubr");library("ggpubr")
ins_p <- function(a){
  if(!require(a))install.packages(a);library(a,character.only = T)
}
ins_p("eoffice")
代码语言:r
复制
## Error in install.packages : Updating loaded packages
代码语言:r
复制
library("eoffice")
ins_p("patchwork")
代码语言:r
复制
## Error in install.packages : Updating loaded packages
代码语言:r
复制
library("dplyr")
library("tidyr")
library("stringr")

?sd
install.packages("limma")
代码语言:r
复制
## Error in install.packages : Updating loaded packages
代码语言:r
复制
library("limma");ls("package:limma")
代码语言:r
复制
##   [1] "[.EList"                    "[.EListRaw"                 "[.MAList"                   "[.MArrayLM"                
##   [5] "[.RGList"                   "[.TestResults"              "alias2Symbol"               "alias2SymbolTable"         
##   [9] "alias2SymbolUsingNCBI"      "anova.MAList"               "arrayWeights"               "arrayWeightsQuick"         
##  [13] "as.data.frame.EList"        "as.data.frame.EListRaw"     "as.data.frame.MAList"       "as.data.frame.MArrayLM"    
##  [17] "as.MAList"                  "as.matrix.EList"            "as.matrix.EListRaw"         "as.matrix.ExpressionSet"   
##  [21] "as.matrix.LumiBatch"        "as.matrix.MAList"           "as.matrix.MArrayLM"         "as.matrix.marrayNorm"      
##  [25] "as.matrix.PLMset"           "as.matrix.RGList"           "as.matrix.vsn"              "asMatrixWeights"           
##  [29] "auROC"                      "avearrays"                  "avearrays.default"          "avearrays.EList"           
##  [33] "avearrays.MAList"           "avedups"                    "avedups.default"            "avedups.EList"             
##  [37] "avedups.MAList"             "avereps"                    "avereps.default"            "avereps.EList"             
##  [41] "avereps.EListRaw"           "avereps.MAList"             "avereps.RGList"             "backgroundCorrect"         
##  [45] "backgroundCorrect.matrix"   "barcodeplot"                "beadCountWeights"           "blockDiag"                 
##  [49] "bwss"                       "bwss.matrix"                "camera"                     "camera.default"            
##  [53] "cameraPR"                   "cameraPR.default"           "cbind.EList"                "cbind.EListRaw"            
##  [57] "cbind.MAList"               "cbind.RGList"               "changeLog"                  "chooseLowessSpan"          
##  [61] "classifyTestsF"             "contrastAsCoef"             "contrasts.fit"              "controlStatus"             
##  [65] "convest"                    "coolmap"                    "cumOverlap"                 "decideTests"               
##  [69] "decideTests.default"        "decideTests.MArrayLM"       "designI2A"                  "designI2M"                 
##  [73] "detectionPValues"           "detectionPValues.default"   "detectionPValues.EListRaw"  "diffSplice"                
##  [77] "dim.EList"                  "dim.EListRaw"               "dim.MAList"                 "dim.MArrayLM"              
##  [81] "dim.RGList"                 "dimnames.EList"             "dimnames.EListRaw"          "dimnames.MAList"           
##  [85] "dimnames.MArrayLM"          "dimnames.RGList"            "dimnames<-.EList"           "dimnames<-.EListRaw"       
##  [89] "dimnames<-.MAList"          "dimnames<-.RGList"          "duplicateCorrelation"       "eBayes"                    
##  [93] "exprs.MA"                   "fitFDist"                   "fitFDistRobustly"           "fitGammaIntercept"         
##  [97] "fitmixture"                 "fitted.MArrayLM"            "fry"                        "fry.default"               
## [101] "genas"                      "geneSetTest"                "getDupSpacing"              "getEAWP"                   
## [105] "getGeneKEGGLinks"           "getKEGGPathwayNames"        "getLayout"                  "getLayout2"                
## [109] "getSpacing"                 "gls.series"                 "goana"                      "goana.default"             
## [113] "goana.MArrayLM"             "goanaTrend"                 "gridc"                      "gridr"                     
## [117] "head.EList"                 "head.EListRaw"              "head.MAList"                "head.MArrayLM"             
## [121] "head.RGList"                "head.TestResults"           "heatdiagram"                "heatDiagram"               
## [125] "helpMethods"                "ids2indices"                "imageplot"                  "imageplot3by2"             
## [129] "interGeneCorrelation"       "intraspotCorrelation"       "is.fullrank"                "isNumeric"                 
## [133] "kegga"                      "kegga.default"              "kegga.MArrayLM"             "kooperberg"                
## [137] "labels.TestResults"         "levels.TestResults"         "limmaUsersGuide"            "lm.series"                 
## [141] "lmFit"                      "lmscFit"                    "loessFit"                   "logcosh"                   
## [145] "logsumexp"                  "MA.RG"                      "ma3x3.matrix"               "ma3x3.spottedarray"        
## [149] "makeContrasts"              "makeUnique"                 "mdplot"                     "merge.EList"               
## [153] "merge.EListRaw"             "merge.MAList"               "merge.RGList"               "mergeScansRG"              
## [157] "modelMatrix"                "modifyWeights"              "mrlm"                       "mroast"                    
## [161] "mroast.default"             "nec"                        "neqc"                       "nonEstimable"              
## [165] "normalizeBetweenArrays"     "normalizeCyclicLoess"       "normalizeForPrintorder"     "normalizeForPrintorder.rg" 
## [169] "normalizeMedianAbsValues"   "normalizeMedianValues"      "normalizeQuantiles"         "normalizeRobustSpline"     
## [173] "normalizeVSN"               "normalizeVSN.default"       "normalizeVSN.EListRaw"      "normalizeVSN.RGList"       
## [177] "normalizeWithinArrays"      "normexp.fit"                "normexp.fit.control"        "normexp.fit.detection.p"   
## [181] "normexp.signal"             "plotDensities"              "plotDensities.default"      "plotDensities.EList"       
## [185] "plotDensities.EListRaw"     "plotDensities.MAList"       "plotDensities.RGList"       "plotExonJunc"              
## [189] "plotExons"                  "plotFB"                     "plotFB.default"             "plotFB.EListRaw"           
## [193] "plotFB.RGList"              "plotlines"                  "plotMA"                     "plotMA.default"            
## [197] "plotMA.EList"               "plotMA.EListRaw"            "plotMA.MAList"              "plotMA.MArrayLM"           
## [201] "plotMA.RGList"              "plotMA3by2"                 "plotMD"                     "plotMD.default"            
## [205] "plotMD.EList"               "plotMD.EListRaw"            "plotMD.MAList"              "plotMD.MArrayLM"           
## [209] "plotMD.RGList"              "plotMDS"                    "plotMDS.default"            "plotMDS.MDS"               
## [213] "plotPrintorder"             "plotPrintTipLoess"          "plotRLDF"                   "plotSA"                    
## [217] "plotSplice"                 "plotWithHighlights"         "poolVar"                    "predFCm"                   
## [221] "printHead"                  "printorder"                 "printtipWeights"            "propexpr"                  
## [225] "propTrueNull"               "protectMetachar"            "qqf"                        "qqt"                       
## [229] "rankSumTestWithCorrelation" "rbind.EList"                "rbind.EListRaw"             "rbind.MAList"              
## [233] "rbind.RGList"               "read.columns"               "read.idat"                  "read.ilmn"                 
## [237] "read.ilmn.targets"          "read.imagene"               "read.maimages"              "readGAL"                   
## [241] "readGenericHeader"          "readGPRHeader"              "readImaGeneHeader"          "readSMDHeader"             
## [245] "readSpotTypes"              "readTargets"                "removeBatchEffect"          "removeExt"                 
## [249] "residuals.MArrayLM"         "RG.MA"                      "roast"                      "roast.default"             
## [253] "romer"                      "romer.default"              "sampleInfoFromGEO"          "selectModel"               
## [257] "show"                       "spotc"                      "spotr"                      "squeezeVar"                
## [261] "strsplit2"                  "subsetListOfArrays"         "summary.EList"              "summary.EListRaw"          
## [265] "summary.MAList"             "summary.MArrayLM"           "summary.RGList"             "summary.TestResults"       
## [269] "tail.EList"                 "tail.EListRaw"              "tail.MAList"                "tail.MArrayLM"             
## [273] "tail.RGList"                "tail.TestResults"           "targetsA2C"                 "tmixture.matrix"           
## [277] "tmixture.vector"            "topGO"                      "topKEGG"                    "topRomer"                  
## [281] "topSplice"                  "topTable"                   "topTableF"                  "topTreat"                  
## [285] "treat"                      "tricubeMovingAverage"       "trigammaInverse"            "trimWhiteSpace"            
## [289] "tZscore"                    "unique.TestResults"         "uniquegenelist"             "uniqueTargets"             
## [293] "unwrapdups"                 "vennCounts"                 "vennDiagram"                "volcanoplot"               
## [297] "voom"                       "vooma"                      "voomaByGroup"               "voomaLmFit"                
## [301] "voomWithQualityWeights"     "weighted.median"            "weightedLowess"             "wilcoxGST"                 
## [305] "write.fit"                  "wsva"                       "wtarea"                     "wtflags"                   
## [309] "wtIgnore.Filter"            "zscore"                     "zscoreGamma"                "zscoreHyper"               
## [313] "zscoreT"

函数和R包

1 函数与参数

1.1 形式参数与实际参数

seq(from=3,to=21,by=3) seq:函数;from,to,by:形式参数,模板,可不出现;3,21,3:实际参数,可改动

1.2 写函数的函数

示例 jimmy <- function(a,b,m = 2){

(a+b)^m +} function:创造其他函数 jimmy:函数名称;m存在默认值=2,可修改 函数的原理是代数,把参数带入大括号里的代码

2 R包(R package)介绍

2.1 R包是什么?

-可以粗略理解为多个函数的打包存档

-有的R包中会有数据,甚至只有数据没有函数

-包含函数/数据、帮助文档、描述文件等。

学习目的:找到所有R包的使用规律

3 R包镜像

镜像网站相当于主网站的副本(备份),访问主网站存在障碍时可选择访问镜像网站。

R和Bioconductor主网站位于国外,可选择国内镜像e.g.清华镜像(tuna, Beijing)、中科大镜像(ustc, Hefei)

R包设置

方法1:tools--global option--packages

镜像只能来自于CRAN网站

方法2:代码设置

options("repos"=c(CRAN="http://mirrors.tuna.tsinghua.edu.cn/CRAN/")) options(BioC_mirror="http://mirrors.tuna.tsinghua.edu.cn/bioconductor/") Bioconductor相对CRAN复杂一些,且只能通过代码设置

4 R包来源与安装方式

4.1 CRAN网站

install.packages()

4.2 Bioconductor

BiocManager::install()

4.3 Github

devtools::install_github() 例:devtools::install_github("jmzeng1314/idmap1") jmzeng:发布者用户名;idmap1:包名

5 xx包怎么安装?

5.1 安装

CRAN: install.packages() Bioconductor: BiocManager::install() Github: devtools::install_github()

5.2 安装后加载

library() e.g.library(stringr) require() e.g.require(stringr) 仅需安装一次,但每次打开新的session都需要加载

6 R包安装和使用的逻辑

6.1 安装包-加载包-使用包里的函数

library(stringr) library()是检查是否安装成功的标准 R包安装成功的唯一标准:library()没有error

str_detect(x,"a")

6.2 已经安装的包

可以用::快速调用里面的函数

e.g.

pheatmap::pheatmap(volcano) BiocManager::install("limma") devtools::install_github() 包名::函数名(),相当于: library(pheatmap);pheatmap(volcano) library(a)中,a会被认为是包名,解决方案: library(a,character.only = T)

满分操作

if(!require(stringr))install.packages("stringr") #已安装-加载成功-require()-T--!require-F #未安装-加载失败-require()-F--!require-T #if(FALSE),则后面代码被跳过-不安装 #if(TRUE),则后面代码被执行-安装

可用pacman包方便快捷地批量管理各种包

提示信息设置为英文:

Sys.setenv(LANGUAGE = "en")

7 R包如何使用-获取帮助

7.1 快速查看函数帮助文档

“?”+函数名

?sd sd(x,na.rm = FALSE) #若存在缺失值则应写sd(x,na.rm=TRUE)

7.2 找R包介绍页面

limma:Linear Models for Microarray Data

browseVignettes("limma")

7.3 Vignettes

browseVignettes("limma") #同上

7.4 列出一个包里都有哪些函数或数据

ls("package:limma")

文件读写

1 注意用Project管理工作目录

原因1:文件没有存放于工作目录下(RProject)

原因2:拼写错误(用tab自动补齐)

2 文件读取

read.csv() #通常读取CSV文件 read.csv("ex3.csv") read.table() #通常读取TXT格式文件 失败有两种情况:1.报错;2.意外的结果 直接读取如果失败,则需要指定一些参数 #read.系列函数 参数通用,不同函数间参数默认值不同 read.table()默认header=F,若TXT文件存在列名,应改为: read.table("文件名",header = TRUE) read.csv()设置行名和特殊字符: read.csv("文件名",row.names = 1,check.names = F) 规则:数据框不允许重复的行名 报错解决方法: 1.先不加row.names参数进行读取; 2.处理第一列的重复值(去重复,两行求平均值,合并为一行); 3.将第一行设为行名

3 数据框导出

CSV格式:write.csv()

write.csv(ex2,file = "example.csv") ex2:要导出数据框的变量名;example.csv:为导出的文件命名

TXT格式:write.table()#不常用

write.table(ex2,filfe = "example.txt")

用于读取/导出文件的R包

base:

read.csv() read.table() read.delim() #存在个别参数改变,同样适用于读取txt文件 write.table() write.csv()

readr:

read_table() read_csv() read_tsv() write_table() write_csv()

data.table:

fread() #不区分CSV,TXT等格式,读取速度较快,但会加入data.table数据结构,且不支持直接设置行名

rio:

import() import_list() #导入多个工作簿的excel表格 export()

data.table读取

library(data.table) ex1 = fread("ex1.txt") class(ex1) 1 "data.table" "data.frame" 修改ex1 = fread("ex1.txt",data.table = F)

ex2 = fread("ex2.csv",data.table = F) #不支持直接设置行名 library(tibble) ex2 = column_to_rownames(ex2,"V1") #将ex2中“V1”列设置为行名

rio读取

library(rio) #一个函数支持读取多种格式,见帮助文档 ex1 = import("ex1.txt") #一个函数支持导出多种格式,见帮助文档 export(ex1,file = "ex1.xlsx")

R语言能够读取的文件格式

通用格式:CSV, XLS, TXT, TSV, JSON, PDF, SPSS...

生信格式:FASTA, FASTQ, BAM, VCF, BED, GTF...

引用自生信技能树

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 函数和R包
  • 1 函数与参数
    • 1.1 形式参数与实际参数
      • 1.2 写函数的函数
      • 2 R包(R package)介绍
        • 2.1 R包是什么?
        • 3 R包镜像
          • R包设置
          • 4 R包来源与安装方式
            • 4.1 CRAN网站
              • 4.2 Bioconductor
                • 4.3 Github
                • 5 xx包怎么安装?
                  • 5.1 安装
                    • 5.2 安装后加载
                    • 6 R包安装和使用的逻辑
                      • 6.1 安装包-加载包-使用包里的函数
                        • 6.2 已经安装的包
                          • 7 R包如何使用-获取帮助
                            • 7.1 快速查看函数帮助文档
                              • 7.2 找R包介绍页面
                                • 7.3 Vignettes
                                  • 7.4 列出一个包里都有哪些函数或数据
                                  • 文件读写
                                    • 1 注意用Project管理工作目录
                                      • 2 文件读取
                                        • 3 数据框导出
                                          • 用于读取/导出文件的R包
                                          • data.table读取
                                          • rio读取
                                        • R语言能够读取的文件格式
                                        领券
                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档