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

R语言中 apply 函数详解

到目前为止,我们只使用了一个参数的函数,并将它们应用于数据。apply家族最棒的部分是,它们也处理具有多个参数的函数!...numeric(1)指定我们希望输出为单个数值,其中每个元素的长度为1。如果我们使用lapply()或sapply()呢?...因此,当你提供一个向量作为输入时,tapply()会对向量的每个子集执行指定的操作。需要的参数包括: tapply(X, INDEX, FUN) 其中INDEX表示要用于分隔数据的因子。听起来耳熟吗?...因此,mapply函数用于对通常不接受多个列表/向量作为参数数据执行函数。当你要创建新列时,它也很有用。...因此,在处理数据帧时,mapply是一个非常方便的函数。 现在,让我们看看如何在实际数据集上使用这些函数。

19.9K40

【R语言】基础知识|apply函数家族中的兄弟姐妹

01 apply() 这个函数是对数组,矩阵或数据的一个变量使用函数生成列表或者数组/向量。 apply(x,MARGIN ,fun,….) x是数据对象,类型可以为数组/矩阵/数据。...02 lapply() lapply(x,FUN,….) x是数据对象,类型可以为向量/列表/数据。 FUN是指使用的函数。 ?...04 tapply() 使用的格式: tapply(x,INDEX,FUN,…,simplify=TRUE) x:数据类型是向量 INDEX:因子列表,而且长度和x一样,如果INDEX不是因子,tapply...MoreArgs是FUN函数的其他参数的列表。 #使用mapply函数重复生成列表list(x=3:6),重复次数times=1:4,而且生成的结果是列表。 ?...#使用mapply函数重复生成列表list(x=3:6),重复次数times=1:4,而且生成的结果是矩阵。 ?

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

R语言中的批处理函数

apply系列函数的基本作用是对矩阵或者列表(list)按照元素或元素构成的子集合进行迭代,并将当前元素或子集合作为参数调用某个指定函数。...1.apply函数 apply函数只能用于处理矩阵类型的数据,也就是说所有的数据必须是同一类型。因此要使用apply函数的话,需要将数据类型转换成矩阵类型。...其中参数na.rm=TRUE,可以忽略所用的NA值 ? 2.lapply和sapply函数 lapply和sapply函数可以用于处理列表数据和向量数据(vector/list)。...3.tapply函数 它通常会有三个参数,第一个参数代表数据,第二个参数表示如何对数据进行分组操作,第三个参数指定每一个分组内应用什么函数。...也就是说tapply函数就是把数据按照一定方式分成不同的组,再在每一组数据内进行某种运算。 ? 4.mapply函数 mapply函数主要是对多个列表或者向量参数使用函数. ?

2.6K20

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

or Vector Arguments对多个列表或者向量参数使用函数 mapply(FUN, ..., MoreArgs = NULL, SIMPLIFY = TRUE, USE.NAMES = TRUE..."no") c(NA, NaN), useNA = c("no", "ifany", "always"), dnn = list.names(...), deparse.level = 1) 其中参数...函数mapply是函数sapply的变形版,mapply 将函数 FUN 依次应用每一个参数的第一个元素、第二个元素、第三个元素上。...函数mapply使用格式如下: mapply(FUN, ..., MoreArgs = NULL, SIMPLIFY = TRUE,USE.NAMES = TRUE) 其中参数MoreArgs表示函数...输入应该单列,或者List格式的,整个多字节的数据是不对的; 输出也只能是某一种形式,可以保存到list中的,比如此时的字符形式。 ———————————————————————————

3.4K30

R语言中的apply函数族

前言 apply函数族是R语言中数据处理的一组核心函数,通过使用apply函数,我们可以实现对数据的循环、分组、过滤、类型控制等操作。...apply函数可以对矩阵、数据、数组(二维、多维),按行或列进行循环计算,对子元素进行迭代,并把子元素以参数传递的形式给自定义的FUN函数中,并返回计算结果。...比如说让数据的x1列加1,并计算出x1,x2列的均值,这个时候就需要利用apply调用自定义函数了,可以说这才是apply强大的真正原因。...x为数据, 第二、三个参数为自定义参数,可以通过apply的'...'...mapply函数 mapply是sapply的变形函数,类似多变量的sapply,但是参数定义有些变化。第一参数为自定义的FUN函数,第二个参数’…’可以接收多个数据,作为FUN函数的参数调用。

4.4K52

R语言实现基因序列的匹配和比对

和rndSeq函数获取5条序列(字符串): DNA.raw <- mapply(rndSeq,list(DNA_BASES), rep(20, 5)) names(DNA.raw) <- paste("...XString 类允许我们创建、存储和使用不同类型的字符串。不过我们只被允许使用XString的一些子类: BString, DNAString, RNAString,和AAString.。...其中主要的参数as.prob如果为TRUE那么所得的值就是频率,如果FALSE那么为个数。 示例如下: ? 另一种特殊的用法可能会更有用: ?...6. letterFrequencyInSlidingView() 函数主要是获取在指定长度序列中各字符的频率,并且将此指定长度作为窗口进行下移一个碱基,直至计算整个序列。...bioconductor.org/biocLite.R") biocLite("drosophila2probe") biocLite("BSgenome.Dmelanogaster.UCSC.dm3") 利用以上数据构建我们的字典以及匹配数据

7.2K40

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

R语言中有几个常用的函数,可以按组对数据进行处理,apply, lapply, sapply, tapply, mapply,等。这几个函数功能有些类似,下面介绍下这几个函数的用法。...其调用如下: Apply(数据,运算函数,函数的参数) 对于Data Frame来说,如果不同的列有不同的数据类型,不能转换成Matrix,但是却可以转换成List,然后使用lapply函数。...调用格式如下: Apply(数据,运算函数,函数的参数,simplify = TRUE, USE.NAMES = TRUE) 对于其中的simplify参数,就是指明是否对返回的结果集重新组织,如果为FALSE...USE.NAMES是对字符串数据处理时,是否使用字符串作为命名的。...Mapply 这是对多个数据(multivariate)进行sapply处理,只是调用是参数位置有所变化,先把函数放前面: mapply(运算函数,函数的参数,第一个传入参数,第二个数据…,SIMPLIFY

1.5K20

128-R茶话会21-R读取及处理大数据

我可不可以分批处理这些数据呢? 1.1-逐行读取数据 使用命令readLines,该函数通过与文件建立某种连接,并设置参数n控制每次读取的行数。...(1:6)] genotype <- apply(genotype, 2, as.numeric) genotype <- t(genotype) } 但是,这个readLines并不能指定该读哪一行.../Input/split/xx_raw_ # -l 设置拆分文件的行数 # -a 用于设置后缀长度,后缀使用字母a-z # -a 2 则后缀为 aa,ab,ac ...ba,bb ... zz 使用脚本同时处理若干个文件即可...2-优化处理过程 首先,我的矩阵是从数据得到的,而它们读入时被定义为了字符串型,我需要对他们使用转型。 使用apply?来点多线程,mapply? no,no,no。...其中The sparklyr package 似乎很有意思,也有一本对应的书:Mastering Spark with R (therinspark.com)[6] 当然,私以为如果是本地几百G 大小的数据处理

40020

R常用基本 函数汇总整理

scan() 从文件里读数据 read.table() 将矩阵式排列的数据读入数据型对象 readLines() 按行读取数据 writeLines() 按行输出数据...使用R的rnorm函数产生样本量为1000的标准正态分布采样,用每一种normality test函数分别检验其正态性,算出一个p-value;循环10000次,每一种test都产生一个长为10000的...cut() 将一个数值向量中的元素按指定的方式划分区间,返回一个factor变量 split() 将对象中元素按指定方式分组,返回所有组所组成的列表 unlist() 拆分列表结构为向量...,保留其中所有的atomic components order() 将向量中的元素按升序或降序排列,返回每个元素对应的index apply() 对一个对象的指定维的所有成员运行一个函数...mapply rapply eapply range() 返回所有指定对象的最大和最小值 pretty() 计算一数值序列的等分位点 deparse() 以字符形式按原样输出表达式

1.9K30

R数据分析大数据当中的化整为零(Split-Apply-Combine)策略

这在速度上会有比做一个loop有优势,因为它可以并行处理数据。 什么时候我们需要使用到化整为零的策略呢?...最直观的过程是使用Loop循环。这里使用一个例子来讲解一下如何实现化整为零策略。在plyr包中有数据ozone,它是一个三维矩阵(24X24X72),其中最后一维72是指的6年12个月每个月的结果。...当然还可以使用c(1,2)这样的方式来设置第二个参数,就是并行计算每个值。第三个参数是需要应用的函数。之后的…是需要传入函数的其它参数。...可以想象,它使用的是按列填充matrix的方式输出的。而vapply是在sapply的基础上,为rownames做出了定义。 除了上面介绍的,还有tapply,mapply,sweep等。...,其实化整为零策略在实现起来,就是分三步走,使用split将数据化分成小块,使用lapply函数对小块进行计算,最后使用do.call使用函数将其整理成我们需要的形式。

1.2K80

Google Earth Engine——PRISM日数据集和月数据集是美国本土的网格化气候数据集,俄勒冈州立大学的PRISM气候小组制作。网格是使用PRISM(独立坡度模型的参数-海拔回归)开发的

PRISM日数据集和月数据集是美国本土的网格化气候数据集,俄勒冈州立大学的PRISM气候小组制作。网格是使用PRISM(独立坡度模型的参数-海拔回归)开发的。...站点数据来自全国各地的许多网络。欲了解更多信息,请参见PRISM空间气候数据集的描述。...注意 警告,这个数据集不应该被用来计算一个世纪的气候趋势,因为非气候的变化来自于台站设备和位置的变化,开放和关闭,不同的观测时间,以及使用相对短期的网络。更多细节请见数据集文件。...观测网络需要时间来进行质量控制和发布站点数据。因此,PRISM数据集会被重新建模数次,直到六个月后被认为是永久性的。有一个发布时间表。...如需使用数据集的30弧秒(~800米)版本,请与提供者联系,prism-questions@nacse.org。

10710

基因集合的数据,列表和对象形式

如下所示就是长短不一的Excel,读取就考验大家的代码能力了: 数据 这个大概是基因集合最容易看人看懂的形式了, library(msigdbr) all_gene_sets = msigdbr(species...musculus category = "H" ) length(unique(table(all_gene_sets$gs_name))) 可以看到是长型数据哦...,因为数据不能是不整齐的,所以没办法是宽的,每个基因集合里面的基因个数不一样,大概率都是不整齐的。...打分函数支持: library(Seurat) sce = AddModuleScore(sce,genes_to_check ,name = names(glist)) 这样的列表如果想转换成为前面的数据也很容易...genes_to_check), function(x){ data.frame(gs_name=x,gene_symbol=glist[[x]]) })) 对象(遵循MSigDB的gmt文件标准) 前面的数据或者列表

1.5K10

ggheatmap--绘制更加个性化的热图!

导语 GUIDE ╲ 作为目前最常见的一种可视化手段,热图因其丰富的色彩变化和生动饱满的信息表达被广泛应用于各种大数据分析场景。...背景介绍 相信大家对热图一定都不陌生了,在数据的可视化分析中,是经常使用热图去做展示的,基于R语言的一些热图绘制R包,如pheatmap,complexheatmap等等,都是常用的工具,今天小编给大家介绍的是一个基于...get_tri(diag = TRUE, upper.tri = TRUE) %>% reshape2::melt(na.rm = TRUE) %>% mutate( Var1 = mapply...(function(x) x[2], str_split(Var1, "_") ), Var2 = mapply(function(x) x[2], str_split(Var2, "_") )...## 4 EBV ACA 0.6380635 ## 5 GS ACA 0.6683191 ## 6 MSI ACA 0.4838802 ## 9 CIN NEC 0.6677643 使用

1.6K20

左手用R右手Python系列7——排序

R语言: sort order rank arrange 排序根据对向量排序和数据的排序要使用不同的函数,以上四个函数中,前三个是针对向量的,最后一个是针对数据的。...sort x<-c(97,93,85,74,32,100,99,67) sort(x,decreasing=F) #默认是生序排列,其中decreasing参数默认为FALSE。...order order(x,decreasing=F) #变量由小到大在原始数据中的位次(默认升序可无需逻辑参数) order(x,decreasing=T) #按照大到小的顺序对应元素在原始向量中的微词...rank(x) 基于数据自身的排序: 当针对数据进行排序时,如同对数据进行条件索引一样,也可以基于数据自身的方法来实现。...arrange函数不仅可以实现多变量规则排序,而且可以仅以负号指定降序,语法简洁,功能强大,其中多变量时,一般是分类变量在前,连续变量在后,粒度粗的维度排在最前面,分类变量排序粒度依次递减。

1.4K40

数据可视化】Echarts的高级功能

最后,使用jQuery语句$(this).val()获得主题名称,在初始化ECharts实例时,通过init的第2个参数指定需要引入的主题。...open方法至少带一个参数用于指定打开的新网页的网址,open方法还可带多个其他参数用于指定新打开网页的其他属性。 在ECharts中,所有的鼠标事件都包含一个参数params。...当单击左图中的第2件产品“羊毛衫”的“产量”柱体后,弹出一个提示对话,如右图所示。 右图可以得到左图中的第2件产品“羊毛衫”的“产量”柱体params参数的各属性信息。...图可知,有上、下两个图表,两个图表使用相同的随机生成的300个随机数据。...(2)在弹出的“Google Chrome属性”对话中,在其中的“目标”文本中添加“–allow-file-access-from-files”内容,再单击“确定”按钮,如图所示。

24810

Day5-i 生信星球学习-数据结构

(4)显示工作路径:getwd()(5)向量是元素组成的,元素可以是数字或者字符串。(6)表格在R语言中称为数据(7)别只复制代码,要理解其中的命令、函数的意思。...(8)数据类型向量(vector) 矩阵(Matrix) 数组(Array) 数据(Data frame)List向量标量和向量的区分元素:指的是数字或者字符串(用chr表示)等,根据它可以区分两个词...,多数情况下, seq 参数用来指定字符的分隔符号,read.txt函数默认参数sep='\t';csv文件,sep = "," tsv 文件 sep = "\t"header=TRUE代表读入数据时将第一行作为列名查看行名和列名...",sep = ",",quote=F)#分隔符改为逗号,字符串不加双引号(默认格式带双引号) 变量的保存与重新加载#这次没有处理完的数据下次想接着--保存和重新加载。...a列和第b列- a$列名#提取列(Tab自动补全,只能提取一列)直接使用数据中的变量plot(iris$Sepal.Length,iris$Sepal.Width)iris是R语言的内置数据,plot

14410

把MsigDB数据库的全部通路转为gsva分析要求的输入格式

详见;基因集合的数据,列表和对象形式 转化 MsigDB数据库的全部通路转为gsva分析要求的输入格式 如果是从 MsigDB数据库下载,通常是gmt文件格式, 可以读入。...详见:Nanostring的表达矩阵分析也是大同小异 使用TCGA数据源,制作生存分析,看看显著与否!...详见:并不是只有TCGA才有临床信息用来做生存分析 其中写一个函数把基因集,写出成为gmt文件,我看到学徒完成的作业惨不忍睹。...这个时候其实有一个取巧的办法,就是使用msigdbr这个包,比如msigdbr包提取 KEGG数据信息: library(msigdbr) #install.packages("msigdbr")...MsigDB数据库本身,里面的kegg信息是过时的,所以仍然是建议使用kegg数据库官方来源哈。

1.1K31
领券