R语言入门视频笔记--5--自定义函数
自定义函数
你可以输出一段代码,创建一个你自己定义的函数
蛋是如果你两个自定义函数的名字重复的话,后面的会把前面的替换掉
举个栗子:
hanshu1 <- function(x) sqrt(var)
hanshu1 <- function(x ) sqrt(abs) #如果你的函数只有一个函数 就不用加大括号 这两个函数名字重复了 后面的会把前面的替换掉
1、你可以设置参数也可以不设置参数,先看不设置参数的。
welcome <- function() print ("welcome to use R")
2、可以设置一个参数
welcome1 <-function(name) print(paste("welcome",name,"to use R"))
#注意细节 name的两边是 有逗号的
你现在可以输入welcome1("tao fen nan hai"),回有返回值。
#还要注意细节 括号里面有双引号的
3、默认参数
welcome2 <- function(name="lao wang") print (paste("welcome",name,"to you home"))
#如果你不输入参数,它就默认为你之前设置的那个老王,就是欢迎老王去你家。
4、多个参数
yigehanshu <- function(n,mu=10,sigma=5){ #这是一个算t检验的自定义函数
x <-rnorm(n,mu,sigma) #我也不会t检验,不要问我为什么
(mean(x)-mu)/(sd(x)/n) #用法跟上面的默认参数的用法差不多
} #yigehanshu(6,6,6) n就是6 mu也是6 另一个也是6
不写的话就是默认老王去你家 #反正就是666 就是很6
举个栗子
plot.f <- function(f,a,b,...){ #你可以试试输入plot.f(sin,0,2*pi)
x<-seq(a,b,length=100) #或者plot.f(tan,0,2*pi)还是很有意思的
plot(x,f(x),type="l",...)
}
举个栗子,很简单的一个函数,蛋是我看不懂,我擦,忍不了,解决这三个函数:switch format cat,请看下文分解。
mydata <- function(type) {
switch(type,
long = format(sys.time(),"%A %B %d %Y"),
short = format(sts.time(),"%m-%d-%y"),
cat(type,"is not recognized type\n")
)
}
再举个栗子
sum <- function(num) {
x <- 0
for(i in 1:num) {
x <- x + i
}
return(x)
}
也很简单不解释了哈
R语言入门视频笔记--5--自定义函数的更多相关文章
- R语言入门视频笔记--6--R函数之cat、format、switch函数
一.cat 猫 怎么就变成一个输出函数了呢? cat 一个输出函数,功能和print有相同之处 我们一起比较看看 1.cat(“hellow world”)或cat('hellow world') ...
- R语言入门视频笔记--9--随机与数据描述分析
古典概型的样本总量是一定的,且每种可能的可能性是相同的, 1.中位数:median(x) 2.百分位数:quantile(x)或者quantile(x,probe=seq(0,1,0.2)) #后面这 ...
- R语言入门视频笔记--10--数据挖掘
这里来挖掘超市购物车数据. 名词: 1.挖掘数据集:购物篮数据 2.挖掘目标:关联规则 3.关联规则:牛奶=>鸡蛋[支持度=2%,置信度=60%] 4.指出度:分析中的全部事务的2%同时购买了牛 ...
- R语言入门视频笔记--4--R的数据输入
输入 R的数据输入可以大体三种: 1.键盘输出 2.从文本文件导入 3.从Excel中导入数据 一.从键盘输入 首先创建一个数据框,玩玩嘛,瞎建一个 mydata <- data.frame(a ...
- R语言入门视频笔记--3--列表list
list <- (stud.id = 1234,stud.name="Tom",stud,marks=c(18,3,14,25,19)) #生成一个列表,里面有学生id,学生 ...
- R语言入门视频笔记--2--一些简单的命令
一.对象 1.列举当前内存中的对象 ls() 2.删除不需要的对象 rm(某对象名称) 3.查看向量长度 length(某向量名称) 4.查看向量类型 mode(某向量名称) 二.函数 1.seq函数 ...
- R语言入门视频笔记--1
一.数据框简要 可输入来访问mtcars这个系统自带的数据框中的mpg列 mtcars$mpg 或者输入 mtcars[c("mpg","cyl")] 来访问两 ...
- R语言入门视频笔记--8--数据框
一.数据框 使用data.frame函数生成数据框 x <- c(20122014101:20122014128) y <- rnorm(28,85,18) #生成28个平均数为85,方差 ...
- R语言入门视频笔记--3-1--矩阵与数组
生成一个新矩阵,多用一些参数吧这次: x <- c(12,13,14,15) rname <- c("R1","R2") nname <- c ...
随机推荐
- AEE加密解密
from Crypto.Cipher import AESfrom binascii import b2a_hex, a2b_hex class AesHandler(object): def ...
- Mac下搜索神兵利器Alfred 3.1.1最新和谐版
http://bbs.feng.com/read-htm-tid-9891194.html 相比Windows而言Mac自带的Spotlight搜索已经非常强大了,尤其是Mac OS Yosemite ...
- CPP-基础:char、BYTE、byte
一,C++语言的内建类型中没“BYTE”这么个类型.BYTE是WINDOWS Platform SDK中windef.h里面定义的:typedef unsigned char BYTE; 二,char ...
- SpringBoot整合升级Spring Security 报错 【The request was rejected because the URL was not normalized】
前言 最近LZ给项目框架升级, 从Spring1.x升级到Spring2.x, 在这里就不多赘述两个版本之间的区别以及升级的原因. 关于升级过程中踩的坑,在其他博文中会做比较详细的记录,以便给读者参考 ...
- Wash!!(HDU_6000)
传送门:Wash! 题意:有n台洗衣机,m台烘干机,给出了每台机器处理意见衣服的时间,而且没见机器同时只能处理一件衣服.问如何选择机器才能使洗完衣服的时间最短. 思路:建两个优先队列,一个表示洗衣机, ...
- java获取本地计算机MAC地址
java获取本地计算机MAC地址代码如下: public class SocketMac { //将读取的计算机MAC地址字节转化为字符串 public static String transByte ...
- Vue.js—单元测试
Vue.js--测试 这里采用的是Vue官方工具(Vue-CLI)搭建出来的项目,在这个搭建工具中推荐的两种测试分别是 端到端的测试 E2E 单元测试 Unit Test 端到端的测试(E2E) E2 ...
- 流程控制主while,for,python画金字塔,画9*9乘法表
5.6 自我总结 一.流程控制while 1.while while True: #while + 条件满足进行下面的循环 age = input('age:') #while 循环的内容 2.whi ...
- 数据结构( Pyhon 语言描述 ) — — 第5章:接口、实现和多态
接口 接口是软件资源用户可用的一组操作 接口中的内容是函数头和方法头,以及它们的文档 设计良好的软件系统会将接口与其实现分隔开来 多态 多态是在两个或多个类的实现中使用相同的运算符号.函数名或方法.多 ...
- websphere8.5 与cxf2.x冲突问题
一个客户was部署的小问题,记录一下. 问题现象 在我们的服务中用调用别人的webservice服务报错,框架用的cxf. 报错关键信息有: E com.ibm.ws.webcontainer.web ...