生信技能树-R语言-day4

2024-04-19 15:12:57 浏览数 (1)

函数构建

函数(形式参数 = 实际参数)

形式参数符号可以省略

eg:seq(from = 3, to = 2, by = 2) 可以写成seq(3,2,2)

构建:

函数名字 = function(形式参数,如果有默认参数也写上){

函数内容

}

代码语言:r复制
> vohoko = funtion(a,b,m = 2){     
           (a b)^m 
 }

如何使用:

>vohoko(3,3,5)

plot(iris[,1],col = iris[,5]) # 第一列由第五列的数值决定颜色

但是这个代码如果要复制粘贴去做很多图,不如用函数效率高

可以用函数代替复制粘贴

jimmy <- function(i){ plot(iris[,i],col=iris[,5]) } jimmy(1) jimmy(2) jimmy(3) jimmy(4) ...

R包

多个函数的打包存放

在哪里

  1. CRAN网站 install.packages()
  2. bioconductor biocManager::install()
  3. github devtoolls::instal_github("作者名/包名字")

安装后需要加载

library()

如果电脑已经安装了一个包,不想再安装一遍的方法

if(!require(dstringr))install.packages("stringr")

require不会报错,只会warning,在某些情况下,可以转化为逻辑值

但是library会报错,不会转化为逻辑值

用require来检验安装包是否在,如果不在,就安装,这时候“不在”要是一种ture的情况,后面代码才会被执行,所以,需要使用!require

require !require install

ture false 不安装

false ture 安装

练习3-3

test = read.csv("exercise.csv")

筛选test中,Species列的值为a或c的行

test = read.csv("exercise.csv") test[test$Species!="b",] test[test$Species == "a"|test$Species == "c",] test$Petal.Length[test$Species = a/c] #这个答案是不对的,,会发生循环补齐 test[test$Species %in% c("a","c"),]

R语言的符号

0 人点赞