函数与参数

1、形式参数与实际参数
image.png
2、写函数的函数
image.png
image.png
3、默认参数
image.png
练习:
选ace
image.png

  1. > jimmy <- function(a,b,m = 2){
  2. + (a+b)^m
  3. + }
  4. > jimmy(a = 1,b = 2)
  5. [1] 9
  6. > jimmy(1,2)
  7. [1] 9
  8. > jimmy(3,6)
  9. [1] 81
  10. > jimmy(3,6,-2)
  11. [1] 0.01234568
  12. >
  13. > #复习:绘图函数plot()
  14. > par(mfrow = c(2,2)) #把画板分成四块,两行两列
  15. > #如果报错,把右下角画板拉大一点即可
  16. > x = c(2,5,6,2,9);plot(x)
  17. > x = seq(2,80,4);plot(x)
  18. > x = rnorm(10);plot(x)
  19. > x = iris$Sepal.Length;plot(x)
  20. >
  21. > #思考:plot画iris的前四列?
  22. > plot(iris[,1],col = iris[,5])
  23. > plot(iris[,2],col = iris[,5])
  24. > plot(iris[,3],col = iris[,5])
  25. > plot(iris[,4],col = iris[,5])
  26. >
  27. > #当一个代码需要复制粘贴三次,就应该写成函数或使用循环
  28. >
  29. > jimmy <- function(i){
  30. + plot(iris[,i],col=iris[,5])
  31. + }
  32. >
  33. > jimmy(1)
  34. > jimmy(2)
  35. > jimmy(3)
  36. > jimmy(4)
  37. >
  38. 练习
  39. > # 2、写一个函数,参数是一个数值型向量,输出结果是该向量的平均值加2倍的标准差,
  40. > #并写出用户使用该函数的代码 。
  41. > joanna <- function(a){
  42. + mean(a)+2*sd(a) #2可以直接些,不需要用m=2
  43. + }
  44. > joanna(rnorm(2))
  45. [1] 2.978756
  46. >

R包

1、R包:大致为多个函数的大包存放,含函数、数据、帮助文件、描述文件
2、安装目的:特定分析功能,需要用相应的包实现。eg.作图包ggplot2,差异分析limma
3、来源:
4、函数和R包 - 图6
image.png
安装后需加载【一次安装,每次打开新的session都要加载】
library() library(string)【检查是否安装成功的标准,没有error】
require()

快速下载的方式
image.png
image.png
利用代码【每次新启动时,需要重新加载代码】
image.png
image.png
image.png
安装包——加载包——使用包里的函数

  1. # R包安装
  2. options("repos"=c(CRAN="http://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
  3. options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")
  4. install.packages("tidyr")
  5. install.packages('BiocManager')
  6. BiocManager::install("ggplot2")
  7. install.packages('devtools')
  8. devtools::install_github("jmzeng1314/idmap1") #括号里写作者用户名加包名
  9. # 清华镜像
  10. # http://mirrors.tuna.tsinghua.edu.cn/CRAN/
  11. # http://mirrors.tuna.tsinghua.edu.cn/bioconductor/
  12. # 中科大镜像
  13. # http://mirrors.ustc.edu.cn/CRAN/
  14. # http://mirrors.ustc.edu.cn/bioc/

安装出错时的问题
image.png

image.png

  1. # 分情况讨论
  2. if(!require(stringr))install.packages("stringr")#分情况安装,
  3. #如有就不安装;如没有会安装。也就是一定能安装上这个包
  4. library(stringr)

帮助文档
①?sd
②直接搜
③Vignettes
④ls()
ls(“package:stringr”)

image.png
image.png
image.png
image.png
image.png
image.png
image.png
解决问题
image.png