函数构建
函数(形式参数 = 实际参数)
形式参数符号可以省略
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包
多个函数的打包存放
在哪里
- CRAN网站 install.packages()
- bioconductor biocManager::install()
- 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语言的符号