生信技能书生信入门班【Day3】-R语言的函数和R包(数据框Dataframe、矩阵Matrix、列表List)

一、函数与实参

形式参数和实际参数

seq(from=3,to=21,by=3)

seq是函数

形式参数:模板,由函数作者所设置,可以不写

实际参数:实参,使用者可以改动,可以赋值

写函数的函数——function(){}

jimmy = function(a,b,m=2){

        (a+b)^m

}

jimmy是函数名称

a\b\m是形式参数

m=2是默认值

大括号内是“算法”

tips:数据框的列名不能用赋值符号要用等号,因为不是赋值;其实感觉全用等号就行了 

 二、R包

R包是什么? :粗略理解为多个函数的打包,有的R包里又数据,甚至只有数据没有函数;包括函数/数据、帮助文档、描述文件等。

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

R包镜像:

R包的来源

CRAN、Bioconductor、Github

怎么装R包

怎么安装R包

 安装后怎么加载R包

R包安装和使用的逻辑

 R包安装成功的唯一标准:libray()没有error

 

 

# 练习4-2 安装以下所有的包
if(!require(data.table))install.packages("data.table")
if(!require(rio))install.packages("rio")
if(!require(tibble))install.packages("tibble")
if(!require(ggplot2))install.packages("ggplot2")
if(!require(ggpubr))install.packages("ggpubr")
if(!require(eoffice))install.packages("eoffice")
if(!require(patchwork))install.packages("patchwork")
if(!require(tidyr))install.packages("tidyr")
if(!require(dplyr))install.packages("dplyr")
if(!require(stringr))install.packages("stringr")
if(!require(qlcMatrix))install.packages("qlcMatrix")
#或者用过时R包的安装方式,把历史版本包的网址传递给ad,然后用
#if require去安装包
ad = "https://cran.r-project.org/src/contrib/Archive/qlcMatrix/qlcMatrix_0.9.7.tar.gz"
if(!require(qlcMatrix))install.packages(ad,repos = NULL)

装包过程的常见疑问

1.红色的提示

2.package not available 

跨版本升级时,应该循环重新安装一次所需要的包

在cran官网可以找到旧版本的包,可以copy网址导入

3.是否更新

 4.加载A包,却报告B包不存在

R包之间还有相互嵌套的关系,使用A包需要依赖B包和C包等

5.依赖的包不够新

6.网络和联网问题 

 7.管理员权限

 8.中文用户名

R包如何使用——获取帮助

1. 快速查看函数的帮助文档

如 ?sd

2.网络检索

limma package

3.Vignettes browseVignettes("limma")

列出包里都打包了那些函数或数据——ls("package: limma")

解决代码问题的思维

三、文件读写

 1. 应用.project管理工作目录

 

 这个问题是因为,这个ex3.csv实际上全称是ex3.csv.csv,用户命名的时候命名了.csv,实际上文件还有一个.csv的后缀

2.文件读取 

read.csv() #用于.csv格式的文件
read.table() #用于读取.txt格式的文件

read.系列函数

3.数据框导出

 4.用于读取/导出的包

 

 

 

四、文件读写实操

1. 读取ex1.txt

 

 发现问题,列名的一排变成了第一行,第一行应该是表头的

看到了函数描述里面的header,对header进行赋值实参

2.读取ex2.csv

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值