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

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

很多R语言新手,写了很多的for循环代码,也不愿意多花点时间把apply函数的使用方法了解清楚,最后把R代码写的跟C似得,我严重鄙视只会写for的R程序员。...我一般最常用的函数为apply和sapply,下面将分别介绍这8个函数的定义和使用方法。 2. apply函数 apply函数是最常用的代替for循环的函数。...apply函数可以对矩阵、数据框、数组(二维、多维),按行或列进行循环计算,对子元素进行迭代,并把子元素以参数传递的形式给自定义的FUN函数中,并以返回计算结果。...对于上面的需求,还有第三种实现方法,那就是完成利用了R的特性,通过向量化计算来完成的。...2]] [1] 3 [[3]] [1] 3 [[4]] [1] 3 [[5]] [1] 2 [[6]] [1] 1 [[7]] [1] 4 [[8]] [1] 5 lapply会分别循环矩阵中的每个值

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

    生信星球学习小组-Day5学习笔记--R语言数据结构

    图片R语言有六大基本数据结构,向量(Vector)、矩阵(Matrix)、数组(Array)、因子(Factor)、数据框(Data.Frame)、列表(List)。...向量向量是用于存储数值型、字符型或逻辑型数据的一维数组,可以使用c()函数来创建,但一个向量中的元素必须是相同数据类型的。...1.创建向量并赋值图片2.提取向量中的元素根据元素的位置提取元素向量中元素的位置索引是从1开始,依次1,2,3,4...图片根据判断的布尔值提取元素布尔值是“真” True 或“假” False 中的一个...图片数据框数据框可以理解为二维数据表,每一行代表一条记录,每一列代表一个属性,可以使用data.frame()函数来创建。不同于矩阵,数据框中每一列的数据类型可以不同。...)图片4.数据框的导出write.table(X,file = "yu.txt",sep = ",",quote=F) # sep = "," 表示将逗号作为每行数据间的分隔符,quote=F 表示字符型数据不加双引号输入

    49100

    数据处理的R包

    plyr具体函数如下表所示: 函数名 输入值类型 输出值类型 aaply 数组/向量/矩阵 数组/向量/矩阵 adply 数组/向量/矩阵 数据框 aply 数组/向量/矩阵 列表 a_ply 数组/向量...(col_name),就是把进行分组的变量名包含在.()中; fun:应用到每行的函数 > df data.frame(group = c(rep('A', 2), rep('B', 2), rep...,语法如下: gather(data, key, value, na.rm = FALSE,···) data:需要被转换的宽形表 key:将原数据框中的所有列赋给一个新变量key value:将原数据框中的所有值赋给一个新变量...Lubridate包可以减少在R中操作时间变量,内置函数提供了很好的解析日期与时间的便利方法。lubridate 包是 Hadley Wickham开发的用于高效处理时间数据的 R 包。...(base包函数) [1] "2020-01-23" (2)日期格式转化 日期值通常以文本的形式输入到R中,然后转化为以数值形式存储的日期变量。

    4.7K20

    Day4:R语言课程(向量和因子取子集)

    1.将数据读入R 无论要执行的R中的具体分析是什么,通常都需要导入数据用于分析。...我们使用的R中的函数将取决于我们引入的数据文件的类型(例如文本,Stata,SPSS,SAS,Excel等)以及该文件中的数据如何分开或分隔。下表列出了可用于从常见文件格式导入数据的函数。...的前6行: head(metadata) 之前已经提到data.frame默认使用字符值转换为因子。...数据框或矩阵只是组合在一起的向量集合。因此,从向量开始,学习如何访问不同的元素,然后将这些概念扩展到数据框。...(1)向量 选择使用索引 从向量中提取一个或多个值,可以使用方括号[ ]语法提供一个或多个索引。索引表示一个向量中的元素数目(桶中的隔室编号)。R索引从1开始。

    5.6K21

    R语言 数据框、矩阵、列表的创建、修改、导出

    数据框数据框的创建数据框来源主要包括用代码新建(data.frame),由已有数据转换或处理得到(取子集、运算、合并等操作),读取表格文件(read.csv,read.table等)及R语言内置数据函数...,data.frame数据框允许不同列不同的数据类型,但同一列只允许一种数据类型*数据框中括号内行在列前df1 data.frame(gene = paste0("gene",1:4),...#取子集方法同数据框t(m) #转置行与列,数据框转置后为矩阵as.data.frame(m) #将矩阵转换为数据框列表列表内有多个数据框或矩阵,可通过list函数将其组成一个列表l 中,Species列的值为a或c的行test[test$Species %in% c("a","c"),]#注意本题至少有三个问题,第一是值a,c为字符型,要加"",第二是向量是c()不是...(iris)])# 2.提取内置数据iris的前5行,前4列,并转换为矩阵,赋值给a。

    7.9K00

    生信技能树DAY 3 R语言入门

    :取交集会自动去除重复值 使用负号注意不要写成赋值符号 # 生成10个随机数: rnorm(n=10,mean=0,sd=18),用向量取子集的方法,取出其中小于-2的值 x 的数据框 | 数据框 一列只能有一种数据 | 列表 没有限制 | 区分矩阵和数据框:根据生成它的函数 或 class() is()族函数 重点:数据框 1.数据框来源 (1)用代码新建...(2)由已有数据转换或处理得到 (3)读取表格文件 (4)R语言内置数据 2.新建和读取数据框 # data.frame 函数 df1 data.frame(gene = paste0("gene..."),each = 2), score = c(5,3,-2,-4)) k = df1$score>0;k # 返回逻辑值向量,每个逻辑值对标每行 ## [1]...","r2","r3","r4") #只修改某一行/列的名 colnames(df1)[2] 的列名,就是修改列名这个向量的第二个元素 6.两个数据框的连接 merge

    27410

    R语言中管道操作符 %>%, %T>%, %$% 和 %%

    这些操作符都是来自于一个叫做magrittr的R包,所以我们先来安装一下。...2.求这个10000个数的绝对值,然后乘以50。 3.把结果转换成一个100行100列的矩阵。 4.计算矩阵中每行的均值,并四舍五入只保留整数。 5.把结果除以7求余数,并话出余数的直方图。...,就是把左侧准备的数据或表达式,传递给右侧的函数调用或表达式进行运行,可以连续操作就像一个链条一样。...1.取10000个符合正态分布的随机数。 2.求这个10000个数的绝对值,然后乘以50。 3.把结果转换成一个100行100列的矩阵。 4.计算矩阵中每行的均值,并四舍五入只保留整数。...比如,我们获得一个data.frame类型的数据集,通过使用 %%,在右侧的函数中可以直接使用列名操作数据。

    4.5K30

    数据分享|R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化|附代码数据

    p=22262最近我们被客户要求撰写关于心脏病数据的研究报告,包括一些图形和统计输出。在讨论分类时,我们经常分析二维数据(一个自变量,一个因变量)但在实际生活中,有更多的观察值,更多的解释变量。...给定前两个分量平面上的两个坐标,给定我们的变换矩阵、归一化分量和一个分类器(这里是基于逻辑回归),我们可以回到原始空间,并对新数据进行分类。....,             family=binomial) contour(xgrid,ygrid,zgrid )在现实生活中,要想真正说出我们的分类器的一些相关信息,我们应该在观测值的一个子集上拟合我们的模型...这就是bagging的概念:我们boostrap 观测值,生长一些树,然后,我们将预测值进行汇总。...、二元逻辑回归和岭回归应用分析R语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测R语言基于树的方法:决策树,随机森林,Bagging,增强树spss modeler用决策树神经网络预测ST的股票

    48400

    R语言函数的含义与用法,实现过程解读

    如果var()的参数是一个n*p的矩阵,那么函数的值是一个p*p的样本协方差矩阵,认为每行是一个p变量的样本向量。 sort(x)返回一个与x具有相同长度的向量,其中的元素按招升序排列。...例如 > attr(z,"dim") R将z作为一个10X10的矩阵看待。 3.4 对象的类别 对象的一个特别属性,类别,被用来指定对象在R编程中的风格。...比如 > array(1:20, dim=c(4,5)) > matrix(1:24, 3,4) 数据向量中的值被赋给数组中的值时,将遵循与FORTRAN相同的原则"主列顺序",即第一个下标变化的最快,...用包含两个元素x,y的一个列表或一个两列的矩阵作为一个参数(第二种形式那样的)也能达成相同的效果。...mfg=c(2, 2, 3, 2)     当前图在多图环境下的位置。前两个数字是当前图的行、列数;后两个是其在多图阵列中的行列数。这个参数用来在多图阵列中跳转。

    5.7K30

    R语言函数的含义与用法,实现过程解读

    如果var()的参数是一个n*p的矩阵,那么函数的值是一个p*p的样本协方差矩阵,认为每行是一个p变量的样本向量。 sort(x)返回一个与x具有相同长度的向量,其中的元素按招升序排列。...例如 > attr(z,"dim") R将z作为一个10X10的矩阵看待。 3.4 对象的类别 对象的一个特别属性,类别,被用来指定对象在R编程中的风格。...比如 > array(1:20, dim=c(4,5)) > matrix(1:24, 3,4) 数据向量中的值被赋给数组中的值时,将遵循与FORTRAN相同的原则"主列顺序",即第一个下标变化的最快,...用包含两个元素x,y的一个列表或一个两列的矩阵作为一个参数(第二种形式那样的)也能达成相同的效果。...mfg=c(2, 2, 3, 2)     当前图在多图环境下的位置。前两个数字是当前图的行、列数;后两个是其在多图阵列中的行列数。这个参数用来在多图阵列中跳转。

    4.7K120

    数据分享|R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化|附代码数据

    但在实际生活中,有更多的观察值,更多的解释变量。随着两个以上的解释变量,它开始变得更加复杂的可视化。...给定前两个分量平面上的两个坐标,给定我们的变换矩阵、归一化分量和一个分类器(这里是基于逻辑回归),我们可以回到原始空间,并对新数据进行分类。....,             family=binomial)contour(xgrid,ygrid,zgrid ) 在现实生活中,要想真正说出我们的分类器的一些相关信息,我们应该在观测值的一个子集上拟合我们的模型...(minsplit=10)) 或者  rpart( +        control=rpart.control(minsplit=5)) 要将该分类可视化,获得前两个成分的投影 > p=function...这就是bagging的概念:我们boostrap 观测值,生长一些树,然后,我们将预测值进行汇总。

    42700

    R语言数据结构(三)数据框

    数据结构是指在计算机中存储和组织数据的方式,不同的数据结构有不同的特点和适用场景。R语言中的常用数据结构,包括向量、矩阵、数组、列表和数据框。...关于数据结构的使用,我们将分四篇文章分别介绍每种数据结构的操作方法和代码示例。...数据框中的每个向量可以是不同的类型,但同一列的元素必须是相同的类型。 创建数据框 创建数据框的一种常用方法是使用data.frame()函数,它可以将多个向量组合成一个数据框。...data.frame()函数的参数有: ...: 这些参数可以采用value或tag = value的形式。组件名称将基于tag(如果存在)或被解析的参数本身。...stringsAsFactors: 逻辑值,指定是否将字符向量转换为因子向量。在R 4.0.0之前,默认设置是TRUE,但现在已更改为FALSE。

    27530

    【生信技能树培训笔记】R语言基础(20230112更新)

    NULL:为空,表示没有这个值(不存在)。可以用函数class()来判断数据的类型。Tips:打出前几个字母即出现提示,用上下键翻动,Tab键自动补全(一)逻辑型数据比较运算比较运算的结果是逻辑值。...(m) #将矩阵转换成数据框的数据结构 a b c1 1 4 72 2 5 83 3 6 9重点:将数据框或举证转置之后,其数据结构都是矩阵。...II.数据框的生成与操作用函数data.frame()生成> #新建和读取数据框> df1 data.frame(gene = paste0("gene",1:4), #每行生成一个向量,作为数据框的一列...Damon O 1402 jimmy A 1453 nicker B 110merge()函数的帮助文档:描述:将两个数据框按照共同的列或行的名称进行合并...默认all=FALSE,表示只取共同列或行中相同值的内容进行合并,当指定all=TRUE时,取两个数据框中指定行列的并集进行合并,任一表中的缺失值,则用NA填充。

    4.1K51

    GEO数据挖掘-基于芯片

    编号,找到对应的R包前缀(第二列),没搜到就是没有R包,再看方法2。...它包含了表达矩阵和设计矩阵的信息,以及通过贝叶斯方法计算的统计量。topTable:这是 limma 包中的一个函数,用于提取差异表达分析的结果。coef = 2:指定要提取的系数。...number = Inf:指定要提取的基因数量。Inf 表示提取所有基因的结果。如果你只想提取前 n 个基因,可以将 Inf 替换为具体的数字,比如 100 表示提取前100个基因。...这一步确保表达矩阵 exp 只包含差异表达基因分析结果中的探针。 rownames(exp) = deg$symbol:将表达矩阵 exp 的行名设置为 deg 数据框中的 symbol 列。...这一步将表达矩阵中的探针 ID 替换为对应的基因符号,使得矩阵更加易读。提取差异基因diff_gene = deg$symbol[deg$change !

    18210

    安捷伦芯片原始数据处理

    「other」 「列表中包含的其他矩阵,维度同R和G一致」 「genes」 「包含探针信息的数据框,每个荧光点必须要对应一行,可以有任意列」 「targets」 「含有RNA样本信息的数据框,行对应芯片数量...小心使用大写或小写,不要插入任何多余的空格。剩下的列提供了要与不同类型的点关联的颜色。此代码假定探测注释data.frame包括列ID和列Name。...Description 一个简单的基于列表的类,用于存储一批芯片荧光点的M值和A值。MAList对象通常在标准化过程中由normalizewithinArrays或MA.RG函数创建。...-output.Rdata') 这样我们保存的M矩阵dat1,分组信息和之后可能用到的临床信息为'step1-output.Rdata' 四、差异表达分析 差异表达分析之前需要画PCA图和样本相关性热图或方差前...,coef是选择第几个比较,adjust是p值校正方法, #默认为BH法,n是选取p.adjust从小到大排列的前几个基因 SCC_normal_DEG<-na.omit(topTable(fit2,

    93610

    数据分享|R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化|附代码数据

    p=22262 最近我们被客户要求撰写关于心脏病数据的研究报告,包括一些图形和统计输出。 在讨论分类时,我们经常分析二维数据(一个自变量,一个因变量) 但在实际生活中,有更多的观察值,更多的解释变量。...给定前两个分量平面上的两个坐标,给定我们的变换矩阵、归一化分量和一个分类器(这里是基于逻辑回归),我们可以回到原始空间,并对新数据进行分类。....,              family=binomial)   contour(xgrid,ygrid,zgrid ) 在现实生活中,要想真正说出我们的分类器的一些相关信息,我们应该在观测值的一个子集上拟合我们的模型...(minsplit=10)) 或者  rpart(  +        control=rpart.control(minsplit=5)) 要将该分类可视化,获得前两个成分的投影 > p=function...这就是bagging的概念:我们boostrap 观测值,生长一些树,然后,我们将预测值进行汇总。

    32800
    领券