<meta charset="utf-8">
函数与参数
-
形式参数与实际参数
image -
写函数的函数
function() {}
补充知识:绘图函数 plot()
x = rnorm(10); plot(x)
plot(iris[,1], col = iris[,5])
image
简化函数:将变化的地方作为函数的参数,不变的地方作为函数的主体
-
默认参数
image
作者会设计很多参数,但只有前1-n个是必须填的,其他的的参数都有默认值。
自己写一个小函数
题目:写一个函数,输入参数为一个数值型向量,输出结果为:该向量的“中位数”和“平均数”,并写出用户使用该函数的代码
我的答案
g <- function(z){
x=mean(z),y=median(z))}
#Error in g(14) : could not find function "g"
function(变量),函数默认输出一个数据,此题目输出的是两个数据,则构成向量输出,答案应如下
g <- function(x){
print/return/c(mean(x),median(x))
}
tips: 有多个输出结果时,将输出的结果组成一个向量,可以用print/return;
当一个函数里需要返回多个值(比如有变量,有向量,有矩阵)时,我们要用list,而不是return
R包(R package)介绍
- R程序包是多个函数的集合,具有详细的说明和示例
- 也有的R包只有数据,没有函数
- 包含R函数、数据、帮助文件、描述文件等
- 特定的分析功能,需要用相应的程序来实现
R包来源
-
CRAN网站
http://cran.r-project.org/web/views/
install.packages() -
Bioconductor
http://bioconductor.org/
BiocManager::install() -
github
图片.png image
http://github.com
devtools::install_github()
(国内)R包安装前需设置镜像
图片.png- tools–global option-packages
- 代码设置
options("repos"=c(CRAN="http://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")
#每次安装时运行一下
R包安装和使用的逻辑
(1)安装包-加载包-使用包里的函数
如报错:找不到函数,则加载函数所在的包,重试。
如报错:不存在叫xx名字的包,则安装xx包,重试。
library()是检查是否安装成功的标准
(2)已安装、不加载,直接使用
BiocManager::install()
dplyr::filter()
图片.png
常见疑问
1. 大片提示信息
检查是否有error,没有就忽略
2. packages not available
- 包名写错
- 安装命令使用错误
- 本机的R语言版本与包所要求的版本不符 (极少)
3. 是否更新
懒惰策略,能不更新就不更新,除非一直报错
不想回答:安装命令加参数:update = F, ask = F
4.加载A包,报错B包不存在
下载那个不存在的包…
5.报错中有connection或url
网络问题
切换镜像,检查网络连接。如果都没有问题,运行
options(download.file.method = 'libcurl')
options(url.method='libcurl')
满分操作:判断式安装
if(!require(stringr))install.packages("stringr")
R包的使用场景
- 某流程代码中用到某些包
- 学绘图,用到ggplot2
- 别人的代码套自己的数据,报错不会改
- 大多数包里的函数规律一致,不需要单独学习,用到哪个函数学习那个函数
- 少数包的函数自有语法,例如ggplot2, dplyr等
R包如何使用-获取帮助
- 快速查看函数帮助文档
?max
help(max)
- 找R包介绍页面(CRAN或者Bioconductor)复制代码即可安装
- 少数R包有 Cheat sheet
R语言里的符号
() 函数
[] 向量、数据框取子集
[[]] 列表取子集
$ 数据框取列
= ,<- 赋值
== 判断是否相等
! 否定
{} 多行代码
井号# 注释
"" 字符串
:: 包::函数
认清函数与数据
函数
形式函数
实际函数
数据框或矩阵
列表
文件名
包
数据的读取
1.直接打开(wps)
2.记事本(win),文本编辑(mac)
3.sublime
4.R语言test=read.csv("文件名.csv")
读取后就是数据框,进行操作不会同步到原表格文件,建议另存,不要覆盖原文件
test = read.csv("ex3.csv")
- 常见分隔符:逗号 空格 制表符 (/t)
- 后缀名没有意义,只是人为定义的格式,约定俗成。在windows电脑上可以更好地绑定打开该文件的软件
- 本质都是纯文本
read.csv()#读取csv格式
read.table()#读取txt格式
#如果想读取text格式:另存为csv或者txt格式;专门函数的使用
直接读取如果失败,需要准备一些参数
R文件保存
图片.png图片.png
save()
load()
Rproject组织形式
- 脚本script .R
- R文件数据 .Rdata/RData
- 表格 .csv .txt
网友评论