自定义函数

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

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

举个栗子:

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. WPF中HyperLink超链接的使用

    HyperLink超链接的简单使用:  XAML里面: <TextBlock> <Hyperlink NavigateUri="http://www.baidu.com&q ...

  2. CAD交互绘制块引用对象(网页版)

    主要用到函数说明: _DMxDrawX::DrawBlockReference 绘制块引用对象.详细说明如下: 参数 说明 DOUBLE dPosX 插入点的X坐标 DOUBLE dPosY 插入点的 ...

  3. 一、numpy入门

    Array import numpy as np # create from python list list_1 = [1, 2, 3, 4] array_1 = np.array(list_1)# ...

  4. 安装ruby开发环境

    如何快速正确的安装 Ruby, Rails 运行环境 对于新入门的开发者,如何安装 Ruby, Ruby Gems 和 Rails 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 ...

  5. 对于WebAssembly编译出来的.wasm文件js如何调用

    WebAssembly也叫浏览器字节码技术 这里就不过多的解释了网上很多介绍 主要是让大家知道在js里面如何调用执行它,我之前看WebAssemblyAPI时候反正是看得一脸懵逼 也是为了大家能更快的 ...

  6. Fortran学习笔记5(数组Array)

    数组的声明方式 一维数组 二维数组 多维数组 数组索引值的改变 自定义类型的数组定义 对数组内容的设置 利用隐含式循环设置数组初值 对整个数组操作 对部分数组的操作 where函数 Forall函数 ...

  7. Python操作微信跳一跳

    “跳一跳”这个东西还是今天刚接触到的,看到了python群中有人再问“微信跳一跳的外挂有人写了没”,“早就有了”,“github”,“等着出个更详细的教程教程没看懂,主要没有用过adb”. 不过没关系 ...

  8. 【php】Windows PHP及xdebug安装 安装

    php version 7.0 redis 下载地址 https://pecl.php.net/package/redis 7.0版本的redis不再依赖php_igbinary.dll扩展,可以独立 ...

  9. Django ORM (一) 创建数据库和模型常用的字段类型参数及Field 重要参数介绍

    创建一个 Django 项目及应用 django-admin startproject orm cd orm python manage.py startapp app01 在 models.py 上 ...

  10. (转)automaticallyAdjustsScrollViewInsets(个人认为iOS7中略坑爹的属性)

    转自http://m.blog.csdn.net/blog/humingtao2013/27662093 automaticallyAdjustsScrollViewInsets(个人认为iOS7中略 ...