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

阿榜生信笔记10—R语言综合运用2

让我们一起加油,一起学习进步鸭一、apply()隐式循环apply() 函数是一种隐式循环函数,可以在矩阵、数组、数据框等对象上进行操作。...二、两个数据连接inner_join(x, y) : 返回x和y交集,即两个数据集中有相同。left_join(x, y) : 返回以x为基础所有,并将y匹配合并到x。...解决方法是检查变量是否拼写正确,或者是否已经正确定义。 如果需要加载变量,则需要将数据导入到R,可以使用 read.table() 、 read.csv() 等函数加载数据。"...in model.frame.default(formula = y ~ x, data = df) : invalid type (NULL) for variable 'y'"错误这种错误通常是因为使用数据集中缺少需要列或者有空...解决方法是检查数据集中是否缺少需要列或者是否存在 NA 。"

69200

Rapply,lapply,sapply用法探索

本文节选自张丹R极客理想》系列。 1. apply家族函数 apply函数族是R语言中数据处理一组核心函数,通过使用apply函数,我们可以实现对数据循环、分组、过滤、类型控制等操作。...但是,由于在R语言中apply函数与其他语言循环体处理思路是完全不一样,所以apply函数族一直是使用者玩不转一类核心函数。...很多R语言新手,写了很多for循环代码,也不愿意多花点时间把apply函数使用方法了解清楚,最后把R代码写跟C似得,我严重鄙视只会写forR程序员。...apply函数可以对矩阵、数据框、数组(二维、多维),按或列进行循环计算,对子元素进行迭代,并把子元素以参数传递形式给自定义FUN函数,并以返回计算结果。...参数列表: X:数组、矩阵、数据框 MARGIN: 按计算或按按列计算,1表示按,2表示按列 FUN: 自定义调用函数 …: 更多参数,可选 比如,对一个矩阵每一求和,下面就要用到apply做循环了

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

社交网络分析 R 基础:(四)循环与并行

举个例子,对一个矩阵求和,封装一个函数,使用 for 循环应该是这样: func1 <- function(matrix) { row_sum <- c() for (i in 1...apply() 系列函数本身就是解决数据循环处理问题,为了面向不同数据类型,不同返回apply() 函数组成了一个函数族。...一般使用最多是对矩阵处理函数 apply() 以及对向量处理函数 sapply()。 apply() 系列函数[1] apply() apply() 函数用于多维数据处理,比如矩阵。...对一个矩阵求和使用 apply() 函数更简单,但效率上不如 sapply()。...回到上文中“对一个矩阵求和”这个问题上,“求和”是一个可重复任务,矩阵行数决定了“求和”次数,对矩阵某一向量求和并不会干扰其他行向量求和,因此该问题可以进行并行处理。

1.2K10

R语言中apply函数族

很多R语言新手,写了很多for循环代码,也不愿意多花点时间把apply函数使用方法了解清楚,最后把R代码写跟C似得。...apply函数可以对矩阵、数据框、数组(二维、多维),按或列进行循环计算,对子元素进行迭代,并把子元素以参数传递形式给自定义FUN函数返回计算结果。...也可以是自己编写函数。 ... :FUN额外参数。 现在假设我们需要对一个矩阵每一求和,那么用apply怎么实现呢?...,那么直接使用lapply就不能达到想要效果了,lapply会分别循环矩阵每个,而不是按或按列进行分组计算。...vapply函数 vapply类似于sapply,提供了FUN.VALUE参数,用来控制返回,这样可以让程序更健壮。

4.4K52

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

) 5、complete.cases( ) 判断对象是否数据完全 6、grep()找出所数据框中元素所在(仅数据框) 7、assign()通过变量字符串来赋值 8、 split()根据因子变量拆分数据框...这一函数在去除数据框缺失时很有用。...t:矩阵转置 cbind:把列合并为矩阵 rbind:把合并为矩阵 diag:矩阵对角元素向量或生成对角矩阵 aperm:数组转置 nrow, ncol:计算数组行数和列数 dim:对象维向量...dimnames:对象 row/colnames:或列名 %*%:矩阵乘法 crossprod:矩阵交叉乘积(内积) outer:数组外积 kronecker:数组Kronecker积 apply...cor:相关阵或协差阵 Contrast:对照矩阵 row:矩阵下标集 col:求列下标集 19、逻辑运算 ,=,==,!

2.3K21

隐式循环及function函数

apply()函数 apply()一般用于处理矩阵/数据框,返回通过将函数应用于数组或矩阵边距而获得向量或数组或列表。...基本语法为: apply(X, MARGIN, FUN, ..., simplify = TRUE) X:要处理数据框/矩阵 MARGIN:对于矩阵,1表示,2表示列,c(1,2)表示和列。...FUN:函数,即对x每一/列执行FUN这个函数 simplify:表明是否应简化结果逻辑,一般默认为 = TRUE 使用小栗子: #循环处理数据 test<- iris[1:6,1:4] apply...lapply是apply()函数变种,主要用于处理列表/向量(列表/向量没有和列概念,所以会比对矩阵/数据框操作更简单一些),也更适用于批量读取数据或者处理统计数据 基本语法为: lapply(...Vapply类似于sapply,但它有一个预先指定返回类型,因此使用它可能更安全(有时更快)。

11910

R语言中 apply 函数详解

apply函数集来转换R数据 介绍 数据操作是机器学习生命周期中最关键步骤之一。...因此,在Python和R中都有大量函数和工具可以帮助我们完成这项任务,这一点也不奇怪。 今天,我们将使用R学习在R中转换数据时使用最广泛一组“apply”函数。...因此,让我们首先创建一个简单数值矩阵,从1到20,分布在54列: data <- matrix(c(1:20), nrow = 5 , ncol = 4) data ? 这就是我们矩阵样子。...这里, X是指我们将对其应用操作数据集(在本例矩阵) MARGIN参数允许我们指定是按还是按列应用操作 边距=1 列边距=2 FUN指的是我们想要在X上“应用”任何用户定义或内置函数 让我们看看计算每行平均数简单示例...使用tapply()非常容易,因为它会自动从item_cat 向量 获取唯一几乎立即对数据应用所需函数。

20K40

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

apply 家族是 R 语言中常用函数,用于对列表、数组或其他类型数据进行循环操作。 ❞ apply 家族包括以下几个函数: ❝lapply:用于遍历列表每一个元素,对其执行函数操作。...另外,apply 函数用于对矩阵或数组、列或其他维度进行循环操作。...例如,下面的代码使用 apply 函数求出矩阵每一列和: # 创建矩阵 x <- matrix(1:9, nrow = 3) # 使用 apply 函数求出矩阵每一列apply(x, 2,...sum) [1] 6 15 24 ❝上面介绍了apply 家族函数原理,下面来举几个使用 apply 家族函数处理数据小例子: ❞ 例子 1:求出矩阵每一列最大 下面的代码使用 apply...函数求出矩阵每一列最大: # 创建矩阵 x <- matrix(1:9, nrow = 3) # 使用 apply 函数求出矩阵每一列最大 apply(x, 2, max) [1] 3

2.9K30

认识向量

背景 在使用R语言过程,每一步中都需要关注R语言数据结构。数据结构是R语言中最重要内容,也是最难一部分,学会了这部分之后,R语言就不难了。...直接敲数据集名字就能够打印出数据集内容,内置数据集与自己通过文件将数据读入 R ,存储为变量效果上是一样。...向量其实是用于存储数值型、字符型或逻辑型数据一维数组。R 向量与解析几何或者物理学中有数值和方向量不同,R 向量是一个集合,即可以是数值集合也可以是字符串或者逻辑集合。...新手经常犯错误就是忘了使用 c()函数。...向量是一维,而矩阵是二维,需要有和列。矩阵R 语言中使用较多一种数据结构,矩阵分为数值矩阵和字符串矩阵,常用是数据矩阵,基因表达数据为数值矩阵

52410

R语言学习-矩阵

矩阵 矩阵(matrix)是一种特殊向量,包含两个附加属性:行数和列数,R生存矩阵按列存储 注意:向量不能看成只有一或者一列矩阵,二者不能混为一谈 矩阵创建 利用matrix()函数 例如 matrix...使用下标和括号来选择矩阵或列或元素,矩阵+括号,括号里面写需要与列 例如,设置一个矩阵,名字为mymatrix,55列 > mymatrix <- matrix(c(1:25),5,5...,都有一个括号,可以理解为这一或列标 > #mymatrix[i,],返回矩阵mymatrix第i元素 > mymatrix[3,] [1] 3 8 13 18 23 > #mymatrix...8 第二 7 9 > #使用函数rownames()设置使用colnames()设置列名 > f2 <- matrix(c(1,3,5,7),2,2) > rownames(...1.使用attributes()函数,若是矩阵返回一个维度,若不是,返回NULL > fa <- matrix(c(1:4),2,2) #返回维度,22列 > attributes(fa) $dim

7710

R语言常用函数速查

rbind:把合并为矩阵diag:矩阵对角元素向量或生成对角矩阵aperm:数组转置 nrow, ncol:计算数组行数和列数dim:对象维向量 dimnames:对象row/colnames...:或列名 %*%:矩阵乘法crossprod:矩阵交叉乘积(内积) outer:数组外积kronecker:数组Kronecker积 apply:对数组某些维应用函数tapply:对“不规则”数组应用函数...sweep:计算数组概括统计量aggregate:计算数据子集概括统计量 scale:矩阵标准化matplot:对矩阵各列绘图 cor:相关阵或协差阵Contrast:对照矩阵 row:矩阵下标集...线性代数 solve:解线性方程组或求逆 eigen:矩阵特征分解svd:矩阵奇异分解 backsolve:解上三角或下三角方程组chol:Choleski分解 qr:矩阵QR分解chol2inv...,&,&&,|,||,xor():逻辑运算符logical:生成逻辑向量 all,any:逻辑向量都为真或存在真ifelse():二者择一 match,%in%:查找unique:找出互不相同元素 which

2.6K90

批量GSEA及基因表达热图可视化

:1.功能函数包2.数据包3.注释包(芯片基因之间转换) #此为一种,为数据包 data(airway)#加载数据 exprSet=assay(airway)#获取表达矩阵,默认airway获取表达矩阵就是...)[,3]#得出分组信息 tmp=data.frame(group_list)#把group_list向量变为数据框tmp row.names(tmp)=colnames(exprSet) #把tmp改为...exprSet列名 exprSet=exprSet[apply(exprSet,1,function(x)sum(x>1)>5),] ##分别对数据每一数据进行一个什么运算,1代表,2代表列...,]#把res排序 head(resOrdered) DEG=as.data.frame(resOrdered)#把差异分析结果变为数据框 DESeq2_DEG=na.omit(DEG)#删除差异分析缺少结果...个基因所在每一取出,组合起来为一个新表达矩阵 n=t(scale(t(dat))) # 'scale'可以对log-ratio数值进行归一化 n[n>2]=2 n[n< -2]= -

69220

干货:手把手教你用Python读写CSV、JSON、Excel及解析HTML

]] ) 代码最后打印出头10房屋价格。...我们使用表达式生成价格列表。如代码所示,对于列表对象,你可以调用.index(...)方法查找某一元素首次出现位置。 5. 参考 查阅pandas文档read_excel部分。...使用DataFrame对象.apply(...)方法遍历内部每一。第一个参数指定了要应用到每行记录上方法。axis参数默认为0。意味着指定方法会应用到DataFrame每一列上。...列表首元素是,尾元素是。对每个字段,我们以>格式封装,加进字符串列表。...估算缺失会介绍.fillna (...)方法。 .dropna (...)方法删掉缺少任意字段数据(或者列)。

8.3K20

R语言函数

1.初级统计(R_01) x<-(1,2,3,4,5,6) max(x) #最大 min(x) #最小 mean(x) #均值 median(x) #中位数 range(x)#返回最小和最大 var...(x) #方差 sd(x) #标准差 sum(x) #总和 abs(x)#绝对 sqrt(x)#平方根 log(16,base=2)# >4 计算16log,底数为2 exp(x)#计算向量x每一个元素指数...#x[x<-2]改为x[x< -2],注意区分赋值号和小于-2 ####修改向量某个/某些元素:取子集+赋值 x #改一个元素 x[4] <- 40#将x第4个改为40 #改多个元素 x...将这些元素筛选出来 7.隐式循环——apply(R_04) apply 处理矩阵或数据框: #apply(X, MARGIN, FUN, …) #其中X是数据框/矩阵; #MARGIN为1表示,...为2表示列,FUN是函数 test<- iris[1:6,1:4] apply(test, 2, mean)#求test所有列平均值 apply(test, 1, sum)#求test所有和 7.2

21920

R语言基础提升与总结

,按列拼接成为一个矩阵 do.call完成批量操作4 表达矩阵画箱线图4.1 表达矩阵概念基因表达数据通常使用表达矩阵来表示其中矩阵代表某个基因在不同样本(不同处理,或时间点等)表达水平列表示某个样本各个基因表达水平...转置t把原来变为第一列宽数据变长数据代码实现:set.seed(10086)# 随机种子,让rnorm结果变固定exp = matrix(rnorm(18),ncol = 6)exp = round...() %>% #变为第一列 mutate(group = rep(c("control","treat"),each = 3)) #数据框新增一列#变形函数 完成宽数据变长数据操作pdat =...MARGIN,FUN…)X:数据框/矩阵名称MARGIN:取值=1表示;取值=2表示列FUN:具体函数对X每一/每一列进行FUN这个函数test<- iris[1:6,1:4]apply(test...1.计算每个基因方差(每个基因是每一,方差var)2.每个基因方差排列3.最后1000个数字所对应基因load("test2.Rdata")##里面保存数据框名字是testdim(test)apply

15710

如何使用Rsweep函数对表达矩阵进行标准化

如下图所示 除了中位数标准化之外,我们还可以使用z-score方法来对表达谱数据进行标准化: z-score=(表达量-均值)/标准差 那么下面小编就给大家演示一下如何使用前面讲到Rsweep...函数,使用z-score方法来对表达谱矩阵进行标准化 #为了保证随机数保持一致,这里设置一下种子序列 set.seed(123) #随机生成100个数,构造一个10X10矩阵 data=matrix...(runif(100,1,10),nrow=10) #设置是gene1到gene10 rownames(data)=paste0("gene",1:10) #设置列明是sample1到sample10...colnames(data)=paste0("sample",1:10) #计算每一均值 rowmean=apply(data,1,mean) #计算每一标准差 rowsd=apply(data...,1,sd) #每一基因表达减去这一均值 data1=sweep(data,1,rowmean) #每一基因表达除以这一标准差 data2=sweep(data1,1,rowsd,'/'

1.2K10

Day09 生信马拉松-GEO数据挖掘 (

,三选一,选谁就把第几个逻辑写成T,另外两个为F。...眼睛数,自己生成--仅适用排列有序,每种分组都在一起 Group = rep(c("Disease","Normal"),each = 10) }else if(T){ # ★★第三种方法,使用字符串处理函数获取分组.../112-pca-principal-component-analysis-essentials #PCA不同呈现方式可在上面链接查找,先用示例数据确保能运行,再根据实际需要进行调参 # PCA...rownames(annotation_col) = colnames(n) #写注释信息 pheatmap(n, show_colnames =F, #不显示...样本名为列数据框,就需要t()转置 cor()函数求相关系数时候也是按列计算,如果计算之间相关系数也需要对矩阵进行t()转置 参考资料:scale函数对矩阵归一化是按归一化,还是按列归一化?

26910

Pandas之实用手册

使用数字选择一或多行:也可以使用列标签和行号来选择表任何区域loc:1.3 过滤使用特定轻松过滤。...例如,这是Jazz音乐家:以下是拥有超过 1,800,000 听众艺术家:1.4 处理缺失许多数据集可能存在缺失。假设数据框有一个缺失:Pandas 提供了多种方法来处理这个问题。...最简单方法是删除缺少:fillna()另一种方法是使用(例如,使用 0)填充缺失。1.5 分组使用特定条件对行进行分组聚合其数据时。...例如,按流派对数据集进行分组,看看每种流派有多少听众和剧目:Pandas 将两个“爵士乐”组合为一,由于使用了sum()聚合,因此它将两位爵士乐艺术家听众和演奏加在一起,并在合并爵士乐列显示总和...通过告诉 Pandas 将一列除以另一列,它识别到我们想要做就是分别划分各个(即每行“Plays”除以该行“Listeners”)。

13710
领券