R语言入门之编写自定义函数
时间:2022-07-22
本文章向大家介绍R语言入门之编写自定义函数,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1. 控制结构
R语言有自己标准的控制结构,通常我们在()里写的是条件,而在{}里写的是表达式。
if-else判断语句
if (cond) expr
if (cond)expr1else expr2
for循环语句
for (var in seq) expr
while循环语句
while (cond) expr
ifelse判断函数
ifelse(test,yes,no)
2. 编写自定义的函数
R语言的一大优势就是用户可以编写自己的函数,而且这种函数可以是基于其它函数之上的,这为分析提供了更大的灵活性和更广的空间。有了上面关于控制结构的基础知识,我们现在就可以编写自己的函数了。下面是R语言函数的语法结构:
myfunction <- function(arg1, arg2, ... ){
statements
return(object)
}
arg1和arg1等是输入的参数,object是该函数返回的结果
实例
# 自己编写一个转置矩阵的函数
# 该函数功能和R中的函数t()一致
mytrans <- function(x) {
##判断输入数据x是否是一个矩阵
##是矩阵就继续运行,否则就报警
if (!is.matrix(x)) {
warning("argument is not a matrix: returningNA")
return(NA_real_)
}
##新建一个空矩阵y用于储存后续的计算结果
## 将行和列互换就可求出转置矩阵
## 这里使用for循环对每个数进行遍历
## 小括号()和花括号{}一定是成对出现的
y <- matrix(1, nrow=ncol(x), ncol=nrow(x))
for (i in 1:nrow(x)) {
for (j in 1:ncol(x)) {
y[j,i] <- x[i,j]
}
}
return(y)
}
# 检验结果
z <- matrix(1:10, nrow=5, ncol=2)
mytrans(z)
关于如何编写自定义函数的内容就简单介绍到这里,这一部分的内容对于做好生物信息研究非常重要,希望大家能勤加练习!
- maven编译时出现There are test failures
- SpringCloud Eureka自我保护机制
- cordova插件-File Transfer
- 什么是Kotlin?Java终结者?
- cordova插件-Device Motion
- cordova插件-Device Orientation
- cordova插件-Dialogs
- SpringCloud动态刷新配置信息
- cordova插件-Device
- hadoop源码解析2 - conf包中Configuration.java解析
- junit入门实例
- cordova插件- Network Information
- SpringCloud配置中心客户端读取配置
- cordova插件- Inappbrowser
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP实现的AES 128位加密算法示例
- php写入mysql中文乱码的实例解决方法
- php实现的支付宝网页支付功能示例【基于TP5框架】
- php校验公钥是否可用的实例方法
- PHP实现的微信APP支付功能示例【基于TP5框架】
- php创建多级目录与级联删除文件的方法示例
- Linux VPS定时备份服务器/网站数据到Github私人仓库
- Laravel框架验证码类用法实例分析
- Yii框架常见缓存应用实例小结
- 使用Docker搭建DPlayer视频弹幕接口API后端
- php+jQuery ajax实现的实时刷新显示数据功能示例
- yii2.0框架使用 beforeAction 防非法登陆的方法分析
- PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
- php项目中类的自动加载实例讲解
- Yii框架参数配置文件params用法实例分析