自定义函数

你可以输出一段代码,创建一个你自己定义的函数

蛋是如果你两个自定义函数的名字重复的话,后面的会把前面的替换掉

举个栗子:

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--自定义函数的更多相关文章

  1. R语言入门视频笔记--6--R函数之cat、format、switch函数

    一.cat 猫  怎么就变成一个输出函数了呢? cat  一个输出函数,功能和print有相同之处 我们一起比较看看 1.cat(“hellow world”)或cat('hellow world') ...

  2. R语言入门视频笔记--9--随机与数据描述分析

    古典概型的样本总量是一定的,且每种可能的可能性是相同的, 1.中位数:median(x) 2.百分位数:quantile(x)或者quantile(x,probe=seq(0,1,0.2)) #后面这 ...

  3. R语言入门视频笔记--10--数据挖掘

    这里来挖掘超市购物车数据. 名词: 1.挖掘数据集:购物篮数据 2.挖掘目标:关联规则 3.关联规则:牛奶=>鸡蛋[支持度=2%,置信度=60%] 4.指出度:分析中的全部事务的2%同时购买了牛 ...

  4. R语言入门视频笔记--4--R的数据输入

    输入 R的数据输入可以大体三种: 1.键盘输出 2.从文本文件导入 3.从Excel中导入数据 一.从键盘输入 首先创建一个数据框,玩玩嘛,瞎建一个 mydata <- data.frame(a ...

  5. R语言入门视频笔记--3--列表list

    list <- (stud.id = 1234,stud.name="Tom",stud,marks=c(18,3,14,25,19)) #生成一个列表,里面有学生id,学生 ...

  6. R语言入门视频笔记--2--一些简单的命令

    一.对象 1.列举当前内存中的对象 ls() 2.删除不需要的对象 rm(某对象名称) 3.查看向量长度 length(某向量名称) 4.查看向量类型 mode(某向量名称) 二.函数 1.seq函数 ...

  7. R语言入门视频笔记--1

    一.数据框简要 可输入来访问mtcars这个系统自带的数据框中的mpg列 mtcars$mpg 或者输入 mtcars[c("mpg","cyl")] 来访问两 ...

  8. R语言入门视频笔记--8--数据框

    一.数据框 使用data.frame函数生成数据框 x <- c(20122014101:20122014128) y <- rnorm(28,85,18) #生成28个平均数为85,方差 ...

  9. R语言入门视频笔记--3-1--矩阵与数组

    生成一个新矩阵,多用一些参数吧这次: x <- c(12,13,14,15) rname <- c("R1","R2") nname <- c ...

随机推荐

  1. mybatis 原理研究

    1. mybatis 是使用JDBC来实现的, 所以需要我们首先了解JDBC 的查询 ①加载JDBC驱动 ②建立并获取数据库连接 ③设置sql语句的传递参数 ④执行sql语句并获得结果 ⑤对结果进行转 ...

  2. 多维的vector定义和初始化

    vector<vector<int> >vv(3, vector<int>(4));//这里,两个“>”间的空格是不可少的 将构造一个二维向量vv,它含有三个 ...

  3. 修改visual studio setup 安装顺序(解决新版安装包无法自动移除老版本程序的问题)

    背景 visual studio setup 支持自动删除之前版本的安装,需要设置RemovePreviousVersions = true, DetectNewerInstalledVersion ...

  4. C++ lvalue,prvalue,xvalue,glvalue和rvalue详解(from cppreference)

    General 每一个C++表达式(一个操作符和它的操作数,一个字面值,一个变量名等等)都代表着两个独立属性:类型+属性分类.在现代C++中 glvalue(泛左值) = lvalue (传统意义上的 ...

  5. zabbix:告警、恢复消息次数

    之前zabbix配置告警,存在告警信息发送多次并且恢复信息也跟着发送多次了,导致企业微信流量不够用,没有找到恢复信息单独的设置项 动作中的步骤我个人理解为:1-5的意思是发送5条告警消息      3 ...

  6. Ajax四步操作

    第一步得到(XMLHttpRequest)function creatXMLHttpRequest(){ try{ return new XMLHttpRequest(); } catch(e){ t ...

  7. ARM MMU

    关于MMU,以下几篇文章写得通俗易懂: s3c6410_MMU地址映射过程详述 追求卓越之--arm MMU详解 基于S3C6410的ARM11学习(十五) MMU来了 这里总结MMU三大作用: 1. ...

  8. 组队赛Day1第一场 GYM 101350 G - Snake Rana (容斥)

    [题意] 给一个N×M的矩阵, K个地雷的坐标.求不含地雷的所有矩形的总数. T组数据. N M都是1e4,地雷数 K ≤ 20 Input 3 2 2 1 2 2 6 6 2 5 2 2 5 100 ...

  9. PAT Basic 1036

    1036 跟奥巴马一起编程 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的 ...

  10. Python3中super()的参数传递

    1. super([type[, object-or-type]]) super() 在使用时至少传递一个参数,且这个参数必须是一个类. 通过super()获取到的是一个代理对象,通过这个对象去查找父 ...