首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R语言自定义函数

R语言具有自定义函数功能,如果有些代码实现功能具有重复性,那么就可以利用R语言自带自定义函数体进行封装功能。最后,只需要每次调用时候保证输入输出能够结构化输入变量和结构化输出计算结果。...一、我们来看下R语言中自定义函数构造: 格式:myfuntion<-function(arg1,arg2,…){ statements...二、我们定义好函数,我们也可以通过以下函数去检查函数结构以及参数设置(注:R语言自带函数是无法通过以下函数查看): 1) 函数体:body(),查看函数内部代码, 2) 形式参数列表:formals...5) 退出时执行:on.exit(),可以在一个函数主体部分任何地方插入一个 on.exit 调用。on.exit 调用作用是保存函数主体值使得函数跳出后它仍然可以被执行。...如果你在一个函数调用多个on.exit()函数,那么请务必设置add = TRUE。 6) 返回不可见值: invisible(x),获取当前变量值。

2.9K10
您找到你想要的搜索结果了吗?
是的
没有找到

Rsweep函数

函数用途 base包sweep函数是处理统计量工具,一般可以结合apply()函数来使用。...函数参数 sweep(x, MARGIN, STATS, FUN = "-", check.margin = TRUE, ...) x:即要处理原数据集 MARGIN:对行或列,或者数列其他维度进行操作...…… 下面我们结合几个具体例子来看 #创建一个4行3列矩阵 M = matrix( 1:12, ncol=3) 1.每一行都减去这一行均值 #方法一,通过rowMeans函数来计算每一行均值...sweep(M,1,rowMeans(M)) #方法二,通过apply函数来计算每一行均值,MARGIN=1,对行做操作 sweep(M,1,apply(M,1,mean)) 2.每一行列都减去这一列均值...#方法一,通过colMeans函数来计算每一列均值 sweep(M,2,colMeans(M)) #方法二,通过apply函数来计算每一列均值,MARGIN=2,对列做操作 sweep(M,2,

2.6K20

R替换函数gsub

Rgsub替换函数参数如下 gsub(pattern, replacement, x, ignore.case = FALSE, perl = FALSE, fixed = FALSE,...vector举例如下: > x <- c("R Tutorial","PHP Tutorial", "HTML Tutorial") > gsub("Tutorial","Examples",x) #将...Tutorial替换成Examplers [1] "R Examples" "PHP Examples" "HTML Examples" 还有其他一些例子来灵活使用这个函数,结合正则表达式。...,我们知道组织病理分期分成stage I,stage II,stage III和stage IV四个分期 接下来我们试着把组织病理分期从四个组合并成两个组,并转换成因子 我们使用gsub函数...,并转换成因子 我们还是使用gsub函数 #删除组织病理学分期末尾A,B或者C等字母,例如Stage IIIA,Stage IIIB stage=gsub("[ABCD]$","",clin$ajcc_pathologic_stage

3.1K20

RR 函数

首先构造一个函数,它有一个参数x。这个函数参数列表还包含了一个省略号,因此这个省略号将成为我们调用summary函数参数。...这有点类似于shell通过$引用相应参数。看来很多编程语言都存有相同参数传递机制。 函数属性 R包含了一系列函数用于提取函数类型对象信息。...NULL 如果我们想要在R代码函数参数列表进行操作,formals函数是一个很好工具,它会返回一个配对列表对象(对应参数名和设定默认参数值)。...注意,formals函数仅能运行在R函数上(类型为closure对象),而不能在内嵌函数(bulti-in function)上运行。...解释器将这样递归地在各个环境寻找直到找到该符号或到达全局环境。加入解释器在到达全局环境时依然没有找到var,那么R会在全局环境中指定var值为value。

1.2K20

Rstack和unstack函数

我们用R做数据处理时候,经常要对数据格式进行变换。例如将数据框(dataframe)转换成列表(list),或者反过来将列表转换成数据框。...那么今天小编就给大家介绍一对R函数来实现这样功能。 这一对函数就叫做stack和unstack。从字面意思上来看就是堆叠和去堆叠,就像下面这张图展示这样。...那么R里面这两个函数具体可以实现什么样功能呢?下面这张图可以帮助大家来理解。unstack就是根据数据框第二列分组信息,将第一列数据划分到各个组,是一个去堆叠过程。...一、unstack 下面我们来看几个具体例子 例如现在我们手上有一个数据框,里面的数据来自PlantGrowth 我们可以先看看PlantGrowth 内容,第一列是重量,第二列是不同处理方式...,后面小编会使用这两个函数来给大家举个真实应用案例,敬请期待。

5K30

Rgrep和grepl函数

在日常数据分析过程,我们经常需要在一个字符串或者字符串向量查找是否包含我们要找东西,或者向量那几个元素包含我们要查找内容。...这个时候我们会用到R中最常用两个函数,grep和grepl。...其实grep这个函数也并非是R所特有的,在linux模式匹配也用grep这个函数,前面我就给大家简单介绍过☞Linux xargs grep zgrep命令。...我们先来看看grep和grepl这两个函数用法。 这两个函数最大区别在于grep返回找到位置,grepl返回是否包含要查找内容。接下来我们结合具体例子来讲解。...☞讨论学习Rgrepl函数 参考资料: ☞Linux xargs grep zgrep命令 ☞讨论学习Rgrepl函数

2.3K10

R自定义构建函数与批量绘图

❝本节来介绍如何使用R语言来自定义构建函数,简化代码并进行批量绘图,在之前展示案例基础上进行了一些小改动,下面通过1个案例来进行展示; 加载R包 library(tidyverse) library...,那么如果我们还需要绘制其它基因与「B2M」基因之间关系该如何操作,这时自定义构建绘图函数就显得及其重要,下面来具体展示一下 ❞ 自定义构建函数 make_plot <- function(data,...yfill = "#009E73", marginal.type = "histogram") } 上述代码我们将绘图代码打包成了一个函数...,通过函数要绘制其它基因之间关系就大大简化了代码,并可进行重复性操作 make_plot(df2,B2M,SSTR3) ❝可以看到非常简洁有了一定重复性,那么到此还不够试想如果我们要绘制「B2M...」与其相关性最高10个基因之间关系该如何操作,使用「make_plot」函数10次吗;这样太伤身体当然有更好办法 ❞ 循环批量绘图 gene % ungroup() %>%

71620

R语言入门之编写自定义函数

控制结构 R语言有自己标准控制结构,通常我们在()里写是条件,而在{}里写是表达式。...编写自定义函数 R语言一大优势就是用户可以编写自己函数,而且这种函数可以是基于其它函数之上,这为分析提供了更大灵活性和更广空间。...下面是R语言函数语法结构: myfunction <- function(arg1, arg2, ... ){ statements return(object) } arg1和arg1等是输入参数...,object是该函数返回结果 实例 # 自己编写一个转置矩阵函数 # 该函数功能和R函数t()一致 mytrans <- function(x) { ##判断输入数据x是否是一个矩阵 ##是矩阵就继续运行...y[j,i] <- x[i,j] } } return(y) } # 检验结果 z <- matrix(1:10, nrow=5, ncol=2) mytrans(z) 关于如何编写自定义函数内容就简单介绍到这里

1.1K21

巧用R各种排名窗口函数

函数对比 SQL窗口函数语句中over语句中两个关键词:partition by和order by,R语言中也有与之一一对应函数: ?...1 row_number函数 R语言中row_number函数与sqlrow_number函数相同,对group_by后面字段进行分组,按照order_by后面字段排序,生成一个连续不重复编码...2 min_rank函数 R语言中min_rank函数与sqlrank函数相同,row_number函数对order_by后面字段相同记录编码是不同,min_rank就是解决这个问题,对相同记录编码相同...同样得到与sql相同输出结果: ? 4 ntile函数 R语言中ntile函数与sqlntile函数相同,把每一组分成几块,块数由参数n决定: ?...总结 简单介绍R语言中4个排名窗口函数函数名几乎与sql4个排名窗口函数一样(除了min_rank与rank),但R语言排名窗口函数输出结果与sql输出结果有点不同:R语言数据结果不改变原来数据顺序

3.4K10

Mysql自定义函数自定义过程

如果在存储函数RETURN语句返回一个类型不同于函数RETURNS子句中指定类型值,返回值将被强制转换为恰当类型。...他用来指定函数返回类型,而且函数体必须包含一个RETURN value语句 ---- 变量使用 变量可以在子程序声明并使用,这些变量作用范围是在BEGIN...END程序 1、定义变量 在存储过程定义变量...即有作用域,该客户端退出时,客户端连接所有变量将自动释放 这里变量跟SQLSERVER没有什么区别,都是用来存储临时值 MYSQL这里条件和预定义程序其实跟SQLSERVER自定义错误是一样...调用存储函数 在MySQL,存储函数使用方法与MySQL内部函数使用方法是一样。 换言之,用户自己定义存储函数与MySQL内部函数是一个性质。...删除存储过程和函数指删除数据库已经存在存储过程和函数

4.3K20

R函数

函数是一组一起执行一个任务语句。R 语言本身提供了很多内置函数,当然我们也可以自己创建函数。 您可以把代码划分到不同函数。...如何划分代码到不同函数是由你自己来决定,但在逻辑上,划分通常是根据每个函数执行一个特定任务来进行函数声明告诉编译器函数名称、返回类型和参数。函数定义提供了函数实际主体。...R 语言中函数是一个对象,可以拥有属性。...定义函数 R 语言中函数定义使用 function 关键字,一般形式如下: function_name<- function(arg_1, arg_2, ...) { // 函数体 } 说明:...不会再报argument is missing错误了 gougu2() #5 gougu2(6,8) #10 其实在R内置很多函数也是有默认参数设置,例如我们熟悉read.csv,你会发现默认

64020

R概率分布函数及可视化

对此,我们可以在R调用相应概率分布函数并进行可视化,可以非常直观辅助学习。...R拥有众多概率函数,既有概率密度函数,也有概率分布函数,可以调用函数,也可以产生随机数,其使用规则如下所示: [dpqr]distribution_abbreviation() 其中前面字母为函数类型...为概率分布名称缩写,R概率分布类型如下所示: 对于概率密度函数和分布函数,其使用方法举例如下:例如正态分布概率密度函数为dnorm(),概率分布函数pnorm(),生成符合正态分布随机数rnorm...R也可以产生多维随机变量,例如MASS包mvrnorm()函数可以产生一维或者多维正态分布随机变量,其使用方法如下所示: mvrnorm(n=1, mu, Sigma...)...()函数根据二维坐标来估计数据点分布密度,并画出等密度线(可以使用contour(K4, lwd=1,add=T, xlim, ylim...)函数添加边界线并标注数据比例),然后自定义颜色并并填充进去形成图像

1.6K30

R语言 控制流:for、while、ifelse和自定义函数function

以下概念贯穿控制流张杰内容,需要首先认识: 语句(statement):单独或组合语句,一般在{}以;分隔 。例如:{语句1;语句2} 条件(cond): 最常见是判断一个条件是否成立。...(一次编写,多次调用,一劳永逸) 3.1 自定义函数编写 3.2 source()文件间调用自定义函数 分支和循环是通用编程语言中常见两大控制流。...(一次编写,多次调用,一劳永逸) 3.1 自定义函数编写 R通过function关键字定义函数函数主要由函数名称,参数,运行代码块和返回值组成,函数名称是变量,参数是调用函数时需要传递形式参数;代码块是由由大括号构成...,是调用函数时需要执行代码逻辑;R函数不需要显式地使用return关键字明确返回值,R函数计算最后一个值将自动作为返回值。...示例:自定义avgfunction函数并保存到avgfunction.R文档里 #avgfunction代码 avgfunction = function(x){ sum(x)/length(x) }

4.8K50
领券