我们在做数据分析的时候,经常需要产生一些重复序列。例如,做差异表达分析时需要用到的分组变量,绘制ceRNA网络的节点文件中的RNA type列等等。...今天小编就来给大家介绍一下R中生成重复序列的函数rep。你可以把它看作时repeat这个英文单词的缩写,就很容记住了。...函数形式:rep(x, time = , length = , each = ,) 参数说明: x:代表的是你要进行复制的对象,可以是一个数字,一个字符,或者是一个向量。...times:代表的是复制的次数,只能为正数。 负数以及NA值都会为错误值。复制是指的是对整个向量进行复制。 each:代表的是对向量中的每个元素进行复制的次数。...rep(1:4, times=c(2,1,2,1)) [1] 1 1 2 3 3 4 我们还可以each和times两个参数同时使用 rep(1:4, each = 2, times = 3) [
这有点类似于shell中通过$引用相应的参数。看来很多的编程语言都存有相同的参数传递机制。 函数的属性 R中包含了一系列的函数用于提取函数类型对象的信息。...NULL 如果我们想要在R代码中对函数的参数列表进行操作,formals函数是一个很好的工具,它会返回一个配对列表对象(对应参数名和设定的默认参数值)。...注意,formals函数仅能运行在R写的函数上(类型为closure的对象),而不能在内嵌函数(bulti-in function)上运行。...改变其他环境 这里介绍<<-操作符的使用:比如var <<- value,它会使解释器首先在当前环境中检索寻找符号var。如果解释器无法在当前环境中找到符号var,那么接下来会在父环境中继续寻找。...加入解释器在到达全局环境时依然没有找到var,那么R会在全局环境中指定var的值为value。
安装和使用 直接从CRAN下载即可: 1install.packages("modules") 使用了解2个函数的使用就可以了。 一是import(),用于替换library()加载包。...., environment = parent.frame()) 10NULL 这样我们可以直接使用这个函数,也可以通过gp这个对象去访问可用的函数。...接下来介绍第二个函数。 use()将代码文件加载为模块 最近使用GitHub page的时候发现它的访问速度相当可观,哪怕GitHub主站点本身网络我们国内访问时好时坏。...代码核心其实 就是各种情况的检查,优先使用适合的包和函数进行下载、安装。它的存在就是方便国内使用者,特别是 初学者简便地下载、安装包。...package keeps a record of temporary installation path 45* DONE (ggplot2) 考虑到该函数的常用性,如果你觉得这个函数好用,可以使用下面的命令将其保存到本地并进行配置
大家好,又见面了,我是你们的朋友全栈君。 使用R中merge()函数合并数据 在R中可以使用merge()函数去合并数据框,其强大之处在于在两个不同的数据框中标识共同的列或行。...如何使用merge()获取数据集中交叉部分 merge()最简单的形式为获取两个不同数据框中交叉部分。举例,获取cold.states和large.states完全匹配的数据。...确实如此,merge()函数的不同参数可以实现内join,left join,right join以及完整join。 merge()函数有很多参数,看起来非常吓人。...,所以R基于两者state的name进行匹配。...总结 本文详细介绍R中merge()函数参数及合并数据类型。利用sql的表连接概念进行类比,简单易懂。
函数的用途 base包中的sweep函数是处理统计量的工具,一般可以结合apply()函数来使用。...函数的参数 sweep(x, MARGIN, STATS, FUN = "-", check.margin = TRUE, ...) x:即要处理的原数据集 MARGIN:对行或列,或者数列的其他维度进行操作...…… 下面我们结合几个具体的例子来看 #创建一个4行3列的矩阵 M = matrix( 1:12, ncol=3) 1.每一行都减去这一行的均值 #方法一,通过rowMeans函数来计算每一行的均值...sweep(M,1,rowMeans(M)) #方法二,通过apply函数来计算每一行的均值,MARGIN=1,对行做操作 sweep(M,1,apply(M,1,mean)) 2.每一行列都减去这一列的均值...#方法一,通过colMeans函数来计算每一列的均值 sweep(M,2,colMeans(M)) #方法二,通过apply函数来计算每一列的均值,MARGIN=2,对列做操作 sweep(M,2,
本文的写作由来是知识星球一个朋友对如何在 tidyverse 系列包中使用公式函数(单侧公式)不太熟悉,所以通过本文分享一下我的心得。...img 公式保存了创建它的环境 使用到 R 的朋友几乎都用过公式,它在统计建模方面给了我们极大的方便。不过,公式相比于数值、逻辑值这些数据类型,有什么特点吗?...")= 从属性部分我们可以看到公式保存了创建它的环境。...公式函数用法 核心是什么 公式函数的优点在于提供了一种构造匿名函数的简洁方式。而核心在于在同一行代码表示如何使用输入构造出输出。...这里值得注意的是,当匿名函数只有一个参数时,我们用 .x 表示函数的输入参数。如果进行拓展,2 个参数时使用 .x 与 .y,3 个参数时使用 ..1, ..2, ..3 等。
废话不多说,我们来聊聊今天的正题。昨天有位群友在群里提出了这样一个问题 具体的字符串向量是这样的,需要达到的目的就是,看字符串向量里面的每一个元素是否包含"LIPE2"这个基因。...这里的字符串向量有四个元素。 实现的手段就是通过R的grepl函数 这个函数里的pattern是匹配的模式,也就是我们经常听到的正则表达式。...这个问题引起了群里关于正则表达式激烈的讨论, 其实,在这个群友提出这个问题之前,我还不太确定,pattern里面可以使用或(|),通过讨论大家都有所收获,至少群里的其他小伙伴知道了正则表达式这个概念...今天我又仔细的研究了一下,给出了三种实现的方法,供大家交流学习。我又加入了一个干扰项,让这个正则表达式更全面。...#例如,“er\b”可以匹配“never”中的“er”,但不能匹配“verb”中的“er”。
R中gsub替换函数的参数如下 gsub(pattern, replacement, x, ignore.case = FALSE, perl = FALSE, fixed = FALSE,...vector举例如下: > x <- c("R Tutorial","PHP Tutorial", "HTML Tutorial") > gsub("Tutorial","Examples",x) #将...Tutorial替换成Examplers [1] "R Examples" "PHP Examples" "HTML Examples" 还有其他的一些例子来灵活使用这个函数,结合正则表达式。...,我们知道组织病理分期分成stage I,stage II,stage III和stage IV四个分期 接下来我们试着把组织病理分期从四个组合并成两个组,并转换成因子 我们使用gsub函数...,并转换成因子 我们还是使用gsub函数 #删除组织病理学分期末尾的A,B或者C等字母,例如Stage IIIA,Stage IIIB stage=gsub("[ABCD]$","",clin$ajcc_pathologic_stage
:计算各数据子集的概括统计量tapply:对“不规则”数组应用函数 二、数学 1....:行名或列名 %*%:矩阵乘法crossprod:矩阵交叉乘积(内积) outer:数组外积kronecker:数组的Kronecker积 apply:对数组的某些维应用函数tapply:对“不规则”数组应用函数...函数 function:函数定义 source:调用文件 call:函数调用.C,.Fortran:调用C或者Fortran子程序的动态链接库。...统计分布 每一种分布有四个函数:d――density(密度函数),p――分布函数,q――分位数 函数,r――随机数函数。比如,正态分布的这四个函数为dnorm,pnorm,qnorm,rnorm。...下 面我们列出各分布后缀,前面加前缀d、p、q或r就构成函数名: norm:正态,t:t分布,f:F分布,chisq:卡方(包括非中心)unif:均匀,exp:指数,weibull:威布尔,gamma
前言 有些时候我们在父类中使用了 self.tr('XXX'),使用 Qt Linguist 完成翻译并导出 qm 文件后,发现子类中仍然是英文原文。.../Add.png", self.coverPath, self.tr('Add to') ) 父类 AlbumCardBase 中有两处使用了...tr 函数,分别翻译为 播放 和 添加到,但是在子类中这些文本仍然会显示为 Play 和 Add to,下面来看看如何解决这个问题。...解决过程 生成的 ts 文件中,有这样一段代码: 复制 AlbumCardBase 标签中的类名即可,比如 AlbumCard 为子类,那么只需添加下述代码: 复制 AlbumCard</name
方案 在一个新的 R 会话中使用 search() 可以查看默认加载的包。...#> [19] "package:datasets" "package:methods" #> [21] "Autoloads" "package:base" 以下提供的函数能够列出包中的函数和对象...showPackageContents <- function(packageName) { # 获取特定包所有内容的列表 funlist <- objects(packageName)...移除包含箭头 <- 的东西 idx <- grep("<-", funlist) if (length(idx) !...qr.resid qr.solve qr.X quarters quarters.Date quarters.POSIXt quit R_system_version R.home R.Version
参考文章 http://www.afenxi.com/post/41432 R中的merge函数类似于Excel中的Vlookup,可以实现对两个数据表进行匹配和拼接的功能。...与Excel不同之处在于merge函数有4种匹配拼接模式,分别为inner,left,right和outer模式。 其中inner为默认的匹配模式,可与sql语言中的join语句用法。...FALSE, all.x = all, all.y = all, sort = TRUE, suffixes = c(".x",".y"), incomparables = NULL, ...) merge函数参数的说明...by = ‘公共列名’ ,前提是两个数据集中都有该列名,并且大小写完全一致,R语言区分大小写 by.x,by.y:指定依据哪些行合并数据框,默认值为相同列名的列 all,all.x,all.y:指定x...匹配模式 merge(w ,q ,all.x=TRUE,sort=TRUE) # 建议使用 指定了连接列 的情况 # 多个公共列,未指定连接列 # 左连接,设置 all.x = TRUE,结果只显示数据
R中的函数分为普通函数、S3方法和S4方法。 普通函数的源码获取细节 普通函数的源码手动获取比较简单,只需要在console中输入函数名,打印一下即可。...导出函数可以理解为这个包开放给用户使用的函数,而非导出函数则主要是供这个包内部使用的函数,一般情况下它不需要暴露给用户。...,base包的::、[ 等操作符,colnames%、%$%等操作符都是函数,由于他们不是合法的R变量名称(只包含数字、英文字母...* 获取S4方法源码 不同于S3方法,S4方法源码无法通过构造函数名称来获取,但是methods包(R的官方S4类包,默认自动导入)中提供了getMethod方法来获取源码。...类似,S4方法可以使用callNextMethod函数将方法转发给下一个类名。
在R语言中,apply系列函数作为批量处理函数,可以循环遍历某个集合内的所有或部分元素,以简化操作。这些函数底层是通过C来实现的,所以效率也比手工遍历来的高效。...apply族函数分别有apply函数,tapply函数,lapply函数,mapply函数。每一个函数都有自己的特点,在处理不同类型的数据可以选用相对应的函数。...1.apply函数 apply函数只能用于处理矩阵类型的数据,也就是说所有的数据必须是同一类型。因此要使用apply函数的话,需要将数据类型转换成矩阵类型。...也就是说tapply函数就是把数据按照一定方式分成不同的组,再在每一组数据内进行某种运算。 ? 4.mapply函数 mapply函数主要是对多个列表或者向量参数使用函数. ?...总结以上函数应用可以减少在R语言中的For循环,从而提升R语言效率。 欢迎各位学习交流
p=6322 当我们在回归模型中包含连续变量作为协变量时,重要的是我们使用正确的(或近似正确的)函数形式。...例如,对于连续结果Y和连续协变量X,可能是Y的期望值是X和X ^ 2的线性函数,而不是X的线性函数。一种简单但通常有效的方法是简单地查看Y对X的散点图,以直观地评估。...对于我们通常使用逻辑回归建模的二元结果,事情并不那么容易(至少在尝试使用图形方法时)。首先,Y对X的散点图现在完全没有关于Y和X之间关联的形状的信息,因此在逻辑回归模型中应该如何包含X....为了说明,使用R let模拟一些(X,Y)数据,其中Y遵循逻辑回归,其中X在模型中线性进入: set.seed(1234) n < - 1000 x < - rnorm(n) xb < - -2...在R中我们可以写一个简短的函数来做同样的事情: logitloess < - function(x,y,s){ logit < - function(pr){ } if(missing(s))
如下图所示 除了中位数标准化之外,我们还可以使用z-score的方法来对表达谱数据进行标准化: z-score=(表达量-均值)/标准差 那么下面小编就给大家演示一下如何使用前面讲到的☞R中的sweep...函数,使用z-score的方法来对表达谱矩阵进行标准化 #为了保证随机数保持一致,这里设置一下种子序列 set.seed(123) #随机生成100个数,构造一个10X10的矩阵 data=matrix...) #每一行基因表达值除以这一行的标准差 data2=sweep(data1,1,rowsd,'/') data2 得到的结果如下 如果对R里面scale这个函数比较熟悉的小伙伴,可能已经发现了,scale...这个函数就能完成z-score的计算,我们来看看这个函数的说明 我们来看看scale这个函数的效果 #因为scale默认对列做操作,所以这里先用t对表达矩阵做一个转置 #计算完再用t转置回来 data3...=t(scale(t(data))) data3 得到的结果如下,有兴趣的小伙伴可以去对比一下跟使用sweep函数得到的结果。
一个代码在R console中是直接运行到结束的,如果想要获得其中间态:语句,可以使用expr函数来捕获它。...这些函数在rlang包中有更加系统的相同角色的存在:parse的对应函数是parse_expr(语句还重新变为字符串,使用expr_text)。...下面完成的上述操作的所需的函数都是rlang包中相应函数。 如何使用!!...辅助dplyr完成编程工作 上面的例子中,之所以group_var不起作用,是因为dplyr直接将group_var当做变量名,然后去mtcars中寻找名字叫做group_var的列,这肯定是会报错的。...会告诉group_by函数,先对group_var进行求值,获得其值为gear,然后在进行后续操作。 为什么group_var需要先使用sym函数包裹?
前言 apply函数族是R语言中数据处理的一组核心函数,通过使用apply函数,我们可以实现对数据的循环、分组、过滤、类型控制等操作。...但是,由于在R语言中apply函数与其他语言循环体的处理思路是完全不一样的,所以apply函数族一直是初学者玩不转的一类核心函数。...很多R语言新手,写了很多的for循环代码,也不愿意多花点时间把apply函数的使用方法了解清楚,最后把R代码写的跟C似得。...简介 由于R语言的apply家族函数是用C写的,所以使用apply进行遍历的执行效率远远高于自己编写的循环语句。...eapply函数平时很难被用到,但对于R包开发来说,环境空间的使用是必须要掌握的。特别是当R要做为工业化的工具时,对变量的精确控制和管理是非常必要的。
我们用R做数据处理的时候,经常要对数据的格式进行变换。例如将数据框(dataframe)转换成列表(list),或者反过来将列表转换成数据框。...那么今天小编就给大家介绍一对R函数来实现这样的功能。 这一对函数就叫做stack和unstack。从字面意思上来看就是堆叠和去堆叠,就像下面这张图展示的这样。...那么R里面这两个函数具体可以实现什么样的功能呢?下面这张图可以帮助大家来理解。unstack就是根据数据框的第二列的分组信息,将第一列的数据划分到各个组,是一个去堆叠的过程。...stack函数的时候,也可以对组进行操作,比如筛选和过滤 stacked_df1 = stack(unstacked_df, select = -ctrl) stacked_df1 这段代码就在stack...,后面小编会使用这两个函数来给大家举个真实的应用案例,敬请期待。
在R中,expand.grid()函数可以返回几个元素所有可能的组合,使我们免于多层遍历的苦恼。...其实这个就是我们提供的sex,age,major中的变量分别组合起来得到的,类似于,遍历三层循环得到所有的排列组合。
领取专属 10元无门槛券
手把手带您无忧上云