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

快速掌握apply函数家族推荐这篇文档

sapply:与 lapply 类似,但它自动将结果转换为向量、矩阵或数组。 apply:用于对矩阵或数组的行、列或其他维度进行循环操作。...例如,下面的代码使用 lapply 函数对列表中的每个字符串执行 toupper 函数,将其转换为大写: # 创建列表 x <- list("apple", "banana", "cherry") #...❝如果想要将结果转换为向量、矩阵或数组,可以使用 sapply 函数。它的基本语法与 lapply 类似,只是将 lapply换为 sapply 即可。...❞ 例如,下面的代码使用 sapply 函数将列表中的每个字符串转换为大写: # 创建列表 x <- list("apple", "banana", "cherry") # 使用 sapply 函数对列表中的每个字符串执行...6 9 例子 2:使用 apply 函数将矩阵置 下面的代码使用 apply 函数将矩阵置: # 创建矩阵 x <- matrix(1:9, nrow = 3) # 使用 apply 函数将矩阵

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

Day07 生信马拉松-数据整理中的R

print('0') } else if (i< 0){ print('-') } #简洁嵌套写法 ifelse(i>0,"+",ifelse(i<0,"-","0")) ####case_when函数应用...apply(iris[,1:4], 2, plot) # 如果有写不下的参数,继续写在apply的括号里 apply(iris[,1:4], 2, plot,col = iris[,5]) # 或者也可以自定义函数...(list, FUN, …)函数--参数与自定义函数相似 4.2.1 对列表/向量中的每个元素实施相同的操作 lapply(1:4,rnorm) 4.2.2 批量画图 lapply(1:4, function...) #半连接 基本不用 近似于 %in% anti_join(test1,test2,by="name") #反连接 基本不用 6.表达矩阵画箱线图 6.1操作过程图示 step1 对matrix进行置...7.1 match() 函数 load("matchtest.Rdata") x y ## 把y的列名正确替换为x里面的ID的方法 ## (1)分步解法 a = colnames(y) b = x$

21700

从零开始的异世界生信学习 R语言部分 06 R应用专题

length(x)){ s=s+x[[i]] result[[i]] = c(x[[i]],s) } result do.call(cbind,result) ## 通过先生成空的列表list,使用下标循环...+1 exp ###创造练习数据表达矩阵exp 图片 ##表达矩阵画图 library(tidyr) library(tibble) library(dplyr) dat = t(exp) %>% #置表达矩阵...,宽表变长表 as.data.frame() %>% #将表达矩阵转换为数据框 rownames_to_column() %>% #将行名变成一列 mutate(group = rep(...,矩阵和数据框的隐式循环,只能用于数据框以及矩阵 apply优点在于可以应用自定义函数 ### 1.apply 处理矩阵或数据框 #apply(X, MARGIN, FUN, …) #其中X是数据框...,mean) lapply(test,fivenum) lapply(test, var) lapply(test, sd) lapply(test, quantile) 图片 ### 3.sapply

2.5K30

R语言中的apply函数

前言 apply函数族是R语言中数据处理的一组核心函数,通过使用apply函数,我们可以实现对数据的循环、分组、过滤、类型控制等操作。...简介 由于R语言的apply家族函数是用C写的,所以使用apply进行遍历的执行效率远远高于自己编写的循环语句。...MARGIN:表示对行(1)或者是对列(2)应用函数。 FUN: 可是R自带函数,如mean,sum等。也可以是自己编写的函数。 ... :FUN中的额外参数。...lapply函数 lapply函数是一个最基础循环操作函数之一,用来对list、data.frame数据集进行循环,并返回和X长度同样的list结构作为结果集,通过lapply的开头的第一个字母’l’就可以判断返回结果集的类型...$c[1] 0 0 1 1 1 可以看到,lapply很方便地把list数据集进行循环操作了,此外,它还可以对data.frame数据集按列进行循环,但如果传入的数据集是一个向量或矩阵对象,那么直接使用

4.4K52

R语言中 apply 函数详解

到目前为止,我们只使用了一个参数的函数,并将它们应用于数据。apply家族最棒的部分是,它们也处理具有多个参数的函数!...接下来让我们使用lappy()函数lapply() 上面的apply()函数有一个约束,数据必须是至少2维的矩阵,apply()函数才能对其执行。lapply()函数删除了这个约束。...lapply()是list apply的缩写,可以对列表或向量使用lapply函数。无论是一个向量列表还是一个简单的向量,lappy()都可以在这两个向量上使用。...实际上,sapply()甚至将输出转换为character类型的向量。理想情况下,这不是我们想要的。...使用tapply()非常容易,因为它会自动从item_cat 向量 中获取唯一的值,并几乎立即对数据应用所需的函数

20K40

R语言︱数据分组统计函数族——apply族用法与心得

, ...) lapply Apply a Function over a List or Vector对列表或者向量使用函数 lapply(X, FUN, ...) sapply Apply a Function...lapply使用格式为: lapply(X, FUN, ...) lapply的返回值是和一个和X有相同的长度的list对象, 这个list对象中的每个元素是将函数FUN应用到X的每一个元素。...其中X为List对象(该list的每个元素都是一个向量), 其他类型的对象会被R通过函数as.list()自动转换为list类型。...mapply 函数mapply是函数sapply的变形版,mapply 将函数 FUN 依次应用每一个参数的第一个元素、第二个元素、第三个元素上。...lapply中所要使用函数,一定需要是输入为单一变量,输出为单一变量可以存至list中。

3.4K30

「R」apply,lapply,sapply用法探索

1. apply的家族函数 apply函数族是R语言中数据处理的一组核心函数,通过使用apply函数,我们可以实现对数据的循环、分组、过滤、类型控制等操作。...但是,由于在R语言中apply函数与其他语言循环体的处理思路是完全不一样的,所以apply函数族一直是使用者玩不转一类核心函数。...我一般最常用的函数为apply和sapply,下面将分别介绍这8个函数的定义和使用方法。 2. apply函数 apply函数是最常用的代替for循环的函数。...通过上面的测试,对同一个计算来说,优先考虑R语言内置的向量计算,必须要用到循环时则使用apply函数,应该尽量避免显示的使用for,while等操作方法。...,那么直接使用lapply就不能达到想要的效果了。

4.4K32

R语言 常见函数知识点梳理与解析 | 精选分析

19、逻辑运算 20、控制结构相关 21、自定义函数相关 22、输入输出 23、工作环境 24、简单统计量 25、时间序列 【往期回顾】 R语言 | 第一部分:数据预处理 R语言|第2讲:生成数据 R...语言常用的数据输入与输出方法 | 第三讲 R语言数据管理与dplyr、tidyr | 第4讲 R语言 控制流:for、while、ifelse和自定义函数function|第5讲 正 文 1、str...18、数组相关 array:建立数组 matrix:生成矩阵 data.matrix:把数据框转换为数值型矩阵 lower.tri:矩阵的下三角部分 mat.or.vec:生成矩阵或向量 t:矩阵置...21、自定义函数相关 function:函数定义 source:调用文件 call:函数调用 22、输入输出 cat,print:显示对象 sink:输出转向到指定文件 dump,save,dput...ts:时间序列对象 diff:计算差分 time:时间序列的采样时间 window:时间窗 说明:本文中前半部分内容为作者自行整理,后半部分内容引自网络,稍作整理(蓝色标记部分是笔者认为比较常见和使用函数

2.3K21

R语言的常用函数速查

:计算各数据子集的概括统计量tapply:对“不规则”数组应用函数 二、数学 1....数组 array:建立数组 matrix:生成矩阵data.matrix:把数据框转换为数值型矩阵lower.tri:矩阵的下三角部分 mat.or.vec:生成矩阵或向量t:矩阵置 cbind:把列合并为矩阵...rbind:把行合并为矩阵diag:矩阵对角元素向量或生成对角矩阵aperm:数组置 nrow, ncol:计算数组的行数和列数dim:对象的维向量 dimnames:对象的维名row/colnames...:行名或列名 %*%:矩阵乘法crossprod:矩阵交叉乘积(内积) outer:数组外积kronecker:数组的Kronecker积 apply:对数组的某些维应用函数tapply:对“不规则”数组应用函数...控制结构 if,else,ifelse,switch:分支for,while,repeat,break,next:循环apply,lapply,sapply,tapply,sweep:替代循环的函数

2.6K90

R海拾遗-apply家族学习

概述 在实际的工作中,我们总要面对各种各样的数据结构处理,这些操作可以使用循环来完成,但是容易造成内存的占用,以前其实了解过这方面的函数,但是记不清,因此整理下 主要函数如下 apply lapply...X 处理的数据框 MARGIN 1表示对行,2表示对列处理,c(1,2)表示对行列进行操作 FUN 函数,可以为自定义函数,或者为内置函数 示例 # 使用iris数据集进行测试 data(iris) #...函数 lapply函数和apply函数的差别在于,lapply输出的为一个列表 参数方面少了margin 示例 x<-lapply(iris[,1:4],mean,na.rm=T) # 因为输出的为list...格式,因此一般情况下需要使用unlist函数进行分解 unlist(x) sapply函数 Sapply函数返回的是一个向量,不过增加了两个参数 simplify 如果为T,将输出结果数组化,否则为list...tapply函数一般对数据进行分组描述时使用 tapply(X, INDEX, FUN = NULL) 参数 -X: 一个对象,一般都是向量 -INDEX: 一个包含分类因子的列表 -FUN: 对X里面每个元素进行操作的函数

78330

R tips:进一步的debug并修复cnetplot绘图bug

同样的使用的测试R对象在如下位置 文件名:test.rds 链接:https://pan.baidu.com/s/1l2hqNw034OEBwVvfy7_01g 提取码:kezh 载入工具包及导入rds...cnetplot() 进一步的解析问题并给出优雅解决方案 这部分主要解决两个问题: (1)上一篇的推文提到过,错误出现的原因是cnetplot生成的ggplot2对象中的data对象在渲染过程中某些数据被转换为了...(2)而报错的直接位置是来源于data <- lapply(data, ggplot2:::scales_map_df, scales = npscales),正是其中的scales_map_df函数出错...因此这一次是自定义一个dropAsis函数来还原AsIs对象,它的逻辑如下: dropAsis <- function(x){ cls <- class(x) structure(x,...dat %>% clusterProfiler::cnetplot() # 成功 至此问题就得到解决了,只需要一个非常简单的自定义rescale.AsIs函数即可。

3K80

R语言中的循环函数(Grouping Function)

Lapply 前面说到apply是对于matrix和array的,针对list,我们可以使用lapply函数。该函数接收list,返回的结果也是一个list。...其调用如下: Apply(数据,运算函数,函数的参数) 对于Data Frame来说,如果不同的列有不同的数据类型,不能转换成Matrix,但是却可以转换成List,然后使用lapply函数。...这里就需要用到自定义函数函数可以是匿名函数,也可以是之前定义好的函数,由于这里逻辑简单,我们可以用匿名函数解决。...USE.NAMES是对字符串数据处理时,是否使用字符串作为命名的。...= TRUE,USE.NAMES = TRUE) 比如我们自定义一个函数m3,接受3个数值参数,然后将3个数字相乘返回结果: m3<-function(a,b,c){a*b*c} 然后我们构建3个向量

1.5K20

Excel催化剂功能第4波-一大波自定义函数高级应用,重新定义Excel函数的学习和使用方法

不用再被世面上众多的所谓的函数高级应用所吓倒止步不前,甚至给自己下了结论永远也没悟性去掌握函数的复杂使用,悲惨地走向了从入门到放弃的道路。...a758ac3e77e2 Excel催化剂功能第3波-与PowerbiDesktop互通互联 - 简书https://www.jianshu.com/p/e05460ad407d Excel催化剂功能第4波-一大波自定义函数高级应用...,包括在很早之前安装过,当使用的是自动更新的版本(电脑可访问外网),自定义函数已经安装成功在你电脑中,如需确认,可在公式选项卡的插入函数按钮,下拉三角型查看所有的函数类别,其中新增的自定义函数在最下方可查看到...自定义函数使用 当你记得函数名时,可直接输入=后接函数名,输入部分字母后,Excel会自动提示函数的全名,如下图所示,鼠标点击某个函数,会有此函数的用法简单介绍。 ?...自定义函数有哪些 决定有哪些自定义函数的唯一限制就是你的想像力,你想输入什么,然后就可以得到什么,我来负责制造这个黑箱,暂时开发出来的一些自定义函数,不一定全适合你的使用,学习函数用途最直接的方式莫过于有一函数的简单示例

1.4K20

表观调控13张图之四,peaks区域注释分类比例

韦恩图 我把表观调控数据分析,拆分成为了13张图,分别录制为13个视频,即将免费发布在B站,这个期间我们的视频编辑师还在兢兢业业的奋斗,希望这13张图能带领大家学会表观调控数据分析的一般流程, 然后应用到自己的课题哈...`sub()` 函数将染色体前缀 `chr` 替换为空,即 `chr1` 变成 `1` seqlevels(txdb) <- sub("chr", "", seqlevels(txdb)) seqlevels.../oldBedFiles/Cg_WT.narrowPeak.bed" # 使用 strsplit() 函数对 bedPeakFile 中的内容用 '.'...Pho_WT.narrowPeak.bed" "oldBedFiles/Psc_WT.narrowPeak.bed" "oldBedFiles/Spps_WT.narrowPeak.bed" # 结合上面我们编写的函数使用...lapply 进行批量注释 # 这里需要好好学习 apply() 家族函数的学习 # lapply 可以用 list # 可以看到 Rstudio 右上方 tmp 文件是含有 7 的 tmp = lapply

3.7K21

R tips:使用enframe和map2优雅的迭代列表

for或者lapply迭代 可以使用for循环或者lapply对列表进行迭代,比如要绘图,则可以: for (i in test) plot(i) lapply(test, plot) 都是将列表中的三个元素绘制出三个散点图...同时对name和value两列数据进行迭代,使用map2函数: # 可以使用plot绘制 # name和value的值分别使用.x和.y引用 test_t %$% map2(name, value, ~...#转换为tibble,列名为value df %>% ggplot(aes(x=1:nrow(.), y=value)) + geom_point() }) 三张图,其中一张图(plot绘制)如下:...它的作用可和with类似,使用它后,管道后面的函数可以直接使用test_t的列名。 ggplot2后面的函数部分,x与y分别是对应name和value,最后绘图即可。...上面的图可以继续优化一下,如下: test_t %$% map2(name, value, function(x, y){ df <- as_tibble(y) #转换为tibble,列名为value

1.8K10
领券