前面给大家简单介绍了 ☞【R语言】R中的因子(factor) 今天我们来结合具体的例子给大家讲解一下因子在临床分组中的应用。 我们还是以TCGA数据中的CHOL(胆管癌)这套数据为例。...*","stage I/II",stage) #转换成因子 stage=factor(stage) stage 可以得到下面这个两分组的因子 方法二、直接使用factor函数 #删除组织病理学分期末尾的...gsub一样的结果 接下来我们试着把组织病理分期从四个组合并成三个组,并转换成因子 方法一、使用gsub函数 #删除组织病理学分期末尾的A,B或者C等字母,例如Stage IIIA,Stage IIIB...*","stage III/IV",stage) #转换成因子 stage=factor(stage) stage 可以得到如下因子 方法二、直接使用factor函数 #删除组织病理学分期末尾的A,...参考资料: ☞【R语言】R中的因子(factor) ☞如何从TCGA数据库下载RNAseq数据以及临床信息(一) ☞【R语言】卡方检验和Fisher精确检验,复现临床paper ☞R生成临床信息统计表
《R语言实战》这本书上是这样描述by()函数的: 使用by()分组计算描述性统计量,它可以一次返回若干个统计量。...格式为: by(data, INDICES, FUN) 其中data是一个数据框或矩阵;INDICES是一个因子或因子组成的列表,定义了分组;FUN是任意函数。...简单点说by(data, INDICES, FUN)函数的典型用法: 是将data数据框或矩阵按照INDICES因子水平进行分组,然后对每组应用FUN函数。 是不是没懂?...,将同一个symbol所对应的多个探针分成不同的组,并对每组探针进行统计:计算每组中每行探针表达量的平均值(也就是每个探针在6个样本中表达量的均值rowMeans(x)),再取平均值最大的那个探针作为该...第三个参数是我们自己定义的函数:计算每个小矩阵中每行探针表达量的平均值(也就是每个探针在6个样本中表达量的均值rowMeans(x)),再取平均值最大的那个探针作为该symbol所对应的唯一探针which.max
cumprod(x) 累乘 > cumprod(1:5) [1] 1 2 6 24 120 cummax 保留出现的最大的那个数,并不断输出 > cummax(c(3:1, 2:0, 4...Usage cumsum(x) cumprod(x) cummax(x) cummin(x) by 使用by()分组计算描述性统计量,它可以一次返回若干个统计量。...格式为: by(data, INDICES, FUN) 其中data是一个数据框或矩阵;INDICES是一个因子或因子组成的列表,定义了分组;FUN是任意函数。...通过INDICES 定义的因子,对data 内容进行分组,即将整个data大数据框,划分为了若干个小的数据框,而函数则定义了对这些分组数据处理的方式。...exp 为原有的数据框,而ids$symbol 则是区分exp 信息的向量,其将exp 按照symbol 中的信息划分为若干个矩阵,而function 则定义了在同一组(同一symbol)中的列名筛选其中平均值最大的那一列
群里接到一个学员的提问: 他在处理两分组的转录组测序后的count矩阵的时候,发现手动计算的变化倍数跟金标准算法(DESeq2,edgeR,limma-voom)计算的不一样!...这主要就涉及到deseq2计算logFC值与我们手动计算的FC值方法是不一样的,主要是是使用的表达矩阵的差别。...矩阵 load("draw_logFC.rda") mat[1:4,1:5] rowname split(rownames(mat), pattern = "@", simplify =...Wald检验 标化因子计算主要是对样本的count值进行标准化:其计算步骤就不在这里详细描述了,有一个帖子写了非常详细的计算步骤: RNA-seq原理详解|以DESeq2为例 每个样本的标化因子可以使用下面的函数提取出来...(mat_scale[,1:8]) mean_b rowMeans(mat_scale[,9:16]) fc <- mean_a / mean_b logfc <- log2(fc) 然后与 算法得到的差异结果中的
数据类型数值型:用于直接计算加减乘除字符串型:可以进行连接,转换,提取等逻辑型:真或假日期型等R对象R语言中的变量可以赋值给变量的任何事物,包括常量、数据结构、函数甚至图形对象都拥有某种模式,描述此对象是如何储存的...[1,2]矩阵的计算#直接计算(矩阵之间行和列数要一致)m+1m+m#内置函数colsums() #每一列的和rowsums() #每一行的和colmeans() #取均值rowmeans...#labels:指定各水平的标签, 不指定时用各水平值的对应字符串 #exclude:指定要转换为缺失值(NA)的元素值集合 #ordered:取真值时表示因子水平是有次序的(按编码次序)cut()函数连续取值的变量...,可以用cut()函数将其分段, 转换成因子使用breaks()参数指定分点, 最小分点要小于数据的最小值, 最大分点要大于等于数据的最大值, 默认使用左开右闭区间分组cut(1:10, breaks=...b c c c c c d d d d d## Levels: a b c dtable()函数——统计频数table(sex)## sex## 男 女 ## 3 2tapply()函数可以按照因子分组然后每组计算另一变量的概括统计
split(colnames(exp), scRNAState):split函数用于根据scRNAState中的每个细胞的状态将列名(样本/细胞)分组。...scRNA dat:这个变量将存储split函数的结果,即一个列表,其中每个元素包含了对应于相同状态的所有列名。...sapply函数用于对dat列表中的每个元素(即每个状态组的列名)应用一个函数。...这里应用的函数是rowMeans,它计算exp矩阵中每一行(基因)在指定列(细胞/样本)上的平均值。...re:这个变量将存储sapply函数的结果,即一个向量,其中包含了每个状态组的基因平均表达量。 总结 这两行代码的目的是将表达矩阵exp根据细胞状态分组,并计算每个组中所有基因的平均表达量。
= F)#不以因子变量读取 options(scipen = 20)#不以科学计数法显示 library(data.table) library(tinyarray) data使用以下自定义布局: align_group():将布局轴分组到具有组变量的面板中。 align_kmeans():通过 kmeans 将布局轴分组到面板中。...除了ggplot2元件外,我们还可以在注释中添加任何align_*()函数,align_*()函数可以添加图表,也可以自定义布局,例如排序,聚类,分组等。...目前,有四个 align_* 函数可用于图表布局控制: align_group:根据分类因子对图表进行分组和对齐。...因为列注释使用热图列作为观察值,但我们需要行。 因此,即使是顶部和底部注释,我们也可以使用 rowMeans() 计算所有列的平均值。
: 比如你有2万个基因,你根据自己的条件分组后算差异情况,根据差异把基因排序,然后看缺氧相关200个基因组成的集合在全部的排好序的2万个基因是散乱分布,还是集中于头部和尾部。...当然了,基因集肯定不仅仅是缺氧这个生物学功能啦,在msigdb数据库有几万基因集合,其实生物学背景更重要。 另外,基因的排序也不仅仅是条件分组后算差异来排序,也可以仅仅是表达量高低排序。...接下来就使用limma包的一个函数:camera: Competitive Gene Set Test Accounting for Inter-gene Correlation 对这两个基因集进行统计学检验吧...同样的,我们也可以很方便的可视化一下: stat=rowMeans(y[,4:6]) - rowMeans(y[,1:3]) # One directional barcodeplot(stat, index...上面的代码大量涉及到R基础知识: 《生信分析人员如何系统入门R(2019更新版)》 需要把R的知识点路线图搞定,如下: 了解常量和变量概念 加减乘除等运算(计算器) 多种数据类型(数值,字符,逻辑,因子
SCENIC教程中给出三个方法进行下游的可视化分析,分别可以选择网页(SCope)平台,R或者python进行分析。...(事实上按照之前的pyscenic分析时没有坐标信息的)embeddings 的regulon信息进行匹配应对...]) # 保留唯一/非重复的 regulonsub_regulonAUC 中各调控子(regulon)的平均活性,并将这些平均活性值存储在一个矩阵中# cellsPerGroup这里得到是不同细胞群中的样本列表# function(x)...中每个调控因子的值 sd.2 = apply(rss[,-i], 1, median) #除了当前cluster之外的所有cluster 中该调控因子的中位值
在某些情况下,当删除重复项时,可能会默认只保留第一行,而 .keep_all = T 可能指示保留所有重复行。但这取决于 distinct 函数的具体实现。...*ncol(exp4)), ]nrow(exp5)## [1] 19333exp6 = exp5#在R语言中,若要把fun应用到x的每一列,margin参数应该设置为1。...#1,函数会应用于矩阵的每一列(即,横向)。 #2,函数会应用于矩阵的每一行(即,纵向)。...#常用的过滤基因的标准### 4.分组信息获取 一般使control在前 treat在后 要变成因子型 才具有顺序#group_list=c("L","NC",each=4)#\\的意思是取消正则表达式...)## group## NC OMV2 ## 3 3#在R语言中,使用factor(x, levels = c("NC", "OMV2"))会设定因子x的取值顺序为"NC"和"L"。
这种计算方式的缺点是容易受到极高表达且在不同样品中存在差异表达的基因的影响;这些基因的打开或关闭会影响到细胞中总的分子数目,可能导致这些基因标准化之后就不存在表达差异了,而原本没有差异的基因标准化之后却有差异了...每个细胞的量化因子(size factor)是所有基因与其在所有样品中的表达值的几何平均值的比值的中位数。由于几何平均值的使用,只有在所有样品中表达都不为0的基因才能用来计算。...如果记录了样本的批次信息,或者其它需要抹除的信息可以定义在design参数中,在下游回归的分析中会根据design formula来估计batch effect的影响,并在下游分析时减去这个影响。...在模型中考虑batch effect并没有在数据矩阵中移除bacth effect,如果下游处理时,确实有需要可以使用limma包的removeBatchEffect来处理。...SVA(批次未记录时,寻找潜在影响因子,并矫正) dat <- counts(dds, normalized=TRUE) idx rowMeans(dat) > 1 dat <- dat[idx,
在数据分析中,往往会遇到各种复杂的数据处理操作:分组、排序、过滤、转置、填充、移动、合并、分裂、去重、找重、填充等操作。这时候R语言就是一个很好的选择:R可以高效地、优雅地解决数据处理操作。...例如:合并来源不同,结构相似的两个表格 3.1 向量合并 #一维向量合并直接将要合并的变量以","分割放到c()中即可。...对于NA值的操作,主要都集中在了过滤操作和填充操作中,因此就不在单独介绍NA值的处理了。...此处仅讲述aggregate数据分组计算内容,更多分组计算内容 参考→《R语言 分组计算,不止group_by》 dplyr包中的group_by联合summarize group_by和summarise...有时候分裂split也被用于分组计算中。
split split 函数可以把数据框的各行按照一个或几个分组变量分为子集的列表,然后可以用 sapply() 或 vapply() 对每组进行概括。...中 差 良 良 中 好 差 良 良 好 差 差 好 良 中 中 Levels: 差 中 良 好 通过cut 函数,我们在处理连续型变量的切割时,就不用ifelse 一层套一层而且也不用自己设置了...52 中 6 19 差 另外,在设置cut 参数的breaks 时,我们除了使用fivenum() 函数获取数值的四分位数,还可以结合pretty 函数,获取指定分段长的数字,pretty 会帮助我们获得等间距的整值...strsplit 在字符串向量x 中按照split 的正则语法或正常文本搜寻,并对x 进行分割,将分割后的结果返回为一个列表: strsplit(x, split, ignore.case = F, fixed...,旧字符在 old 中,新字符在 new 中,x 是一个 要进行替换的字符型向量。
要将SCENIC应用于其他物种,需要手动调整第二步(例如使用新的RcisTarget数据库或使用不同的motif-enrichment-analysis工具)。...初始化SCENIC设置 为了在SCENIC的多个步骤中保持设置一致,SCENIC包中的大多数函数使用一个公共对象,该对象存储当前运行的选项并代替大多数函数的“参数”。...为此,我们使用GENIE3或GRNBoost,输入文件是表达矩阵(过滤后的)和转录因子列表。...默认情况下,它(minCountsPerGene)保留所有样品中至少带有6个UMI reads的基因(例如,如果在1%的细胞中以3的值表达,则基因将具有的总数)。...最后,只保留RcisTarget数据库中可用的基因。
一、日期分组 1、关于时间的包都有很多很好的日期分组应用。...2、cut()函数 cut(x, n):将连续型变量x分割为有着n个水平的因子 cut(x, breaks, labels = NULL, include.lowest = FALSE, right...f是分组因子。...tapply 只对单字段分组适用,在进行双字段联合分组时其结果为二维矩阵,用户还需要进行复杂的处理才行,比如 tapply(orders$AMOUNT, orders[,c("SELLERID","CLIENT...在使用data.table时候,需要预先布置一下环境: data<-data.table(data) 如果不布置环境,很多内容用不了。
因为芯片技术已经被时代抛弃,所以我们这里也不继续深究了,我感兴趣的是我的代码进化路程 第一版,使用split结合 sapply 下面代码写于2016年6月左右 library('hgu95av2.db...,可以看我以前学徒的笔记:分组计算描述性统计量函数—by()函数 第三版,使用duplicated和order函数 写完第二个版本的时候,这个生信人的20个R语言习题已经布置给了一百多个学员和学徒,而根据他们的反馈...为否,即取出不重复的项,去除重复的gene ,保留每个基因最大表达量结果s dat=dat[ids$probe_id,] #新的ids取出probe_id这一列,将dat按照取出的这一列中的每一行组成一个新的...dat rownames(dat)=ids$symbol#把ids的symbol这一列中的每一行给dat作为dat的行名 dat[1:4,1:4] #保留每个基因ID第一次出现的信息 dim...) 根据分组信息做差异分析- 这个一文不够的 差异分析得到的结果注释一文就够
不知道大家平时在使用R的时候有没有见到过这样一些比较奇怪的操作符,%>%, %T>%, %$% 和 %%。今天小编就来跟大家掰次掰次。...2.求这个10000个数的绝对值,然后乘以50。 3.把结果转换成一个100行100列的矩阵。 4.计算矩阵中每行的均值,并四舍五入只保留整数。 5.把结果除以7求余数,并话出余数的直方图。...3.把结果转换成一个100行100列的矩阵。 4.计算矩阵中每行的均值,并四舍五入只保留整数。 5.把结果除以7求余数,并话出余数的直方图。...那么再继续使用管道,就会把空值向右进行传递,这样计算最后一步时就会出错。...比如,我们获得一个data.frame类型的数据集,通过使用 %%,在右侧的函数中可以直接使用列名操作数据。
将当前环境中的内容写入 .RData,q命令退出保存时调用此命令 dput() 按ascii格式将指定对象输出到文件,保留某些数据结构 dget() 从ascii格式文件中读取对象...ls() 列出指定环境中的对象,如果无参数,列出其调用环境中的对象 object() 同ls rm() 删除当前环境中的变量 exists() 在指定位置是否存在某变量...mget() 在指定环境中寻找指定的变量 get() 查询并返回指定名称的变量 search() 查看当前环境载入的包 appropos() 返回search函数搜索路径里所有与指定的模式匹配的对象...cut() 将一个数值向量中的元素按指定的方式划分区间,返回一个factor变量 split() 将对象中元素按指定方式分组,返回由所有组所组成的列表 unlist() 拆分列表结构为向量...,对画图时的标注有用 substitute() 将表达式中的变量名替换为变量的值,其余部分不变 quote() 返回其参数,不做任何改变 format() 格式化输出 t
如果矩阵被分割成组,必须用split参数指定一个分类变量。注意spilt的值应该是一个字符向量或一个因子。如果它是一个数字向量,它将被转换为字符。 颜色是矩阵中数值的重要美学映射。...heatmap( bg.border ) 如果split参数的值是一个因子,那么因子水平的顺序控制热图的顺序。如果split是一个简单的向量,热图的顺序是unique(split)。...这就是为什么你应该明确地调用clear()来删除所有的内部变量,这样可以确保当你制作一个新的圆形热图时,heatmap()的第一次调用是在一个新的环境中。...另外,后面轨道中的矩阵也会根据第一个heatmap轨道中的分割情况进行分割。 如果在第一个热图轨道中没有应用聚类,则使用行的自然排序(即c(1,2,...,n))。...在initialize()中,你指定你想应用聚类的任何矩阵以及分割变量,然后,下面的heatmap()调用都共享这个布局。 在下面的例子中,全局布局是由mat1决定的,它在第二个轨道中被可视化。
前面给大家介绍了☞【R语言】rep函数的使用,今天我们来举几个数据分析中的应用,例如差异表达分析时,样本类型变量,我们就可以使用rep函数来生成。...】因子在临床分组中的应用 我们不用敲完整的样本类型名字,用数字来代替,然后再用factor转回来。...方法三、登堂入室,活学活用 我们联合使用,strsplit函数+factor函数 在方法二中,我们相当于还是要用c()先创建一个数值向量,逗号还是要敲的。...gsms <- "1221212" #字符串分割成向量 sml split="")[[1]] #转成因子 gs <- factor(sml) #将数字替换成样本类型...参考资料: ☞【R语言】rep函数的使用 ☞ GEO芯片数据差异表达分析 ☞【R语言】R中的因子(factor) ☞【R语言】因子在临床分组中的应用
领取专属 10元无门槛券
手把手带您无忧上云