【R语言】rep函数的使用

我们在做数据分析的时候,经常需要产生一些重复序列。例如,GEO芯片数据差异表达分析时需要用到的分组变量,cytoscape构建ceRNA网络的节点文件中的RNA type列等等。今天小编就来给大家介绍一下R中生成重复序列的函数rep。你可以把它看作时repeat这个英文单词的缩写,就很容记住了。

函数形式:rep(x, time = , length = , each = ,)

参数说明:

x:代表的是你要进行复制的对象,可以是一个数字,一个字符,或者是一个向量。
times:代表的是复制的次数,只能为正数。负数以及NA值都会为错误值。复制是指的是对整个向量进行复制。
each:代表的是对向量中的每个元素进行复制的次数。
length.out:代表的是最终输出向量的长度。 

下面我们来看几个具体的例子

rep(1:4, times=2)  #对向量(1,2,3,4)复制两次
[1] 1 2 3 4 1 2 3 4
rep(1:4, each = 2)  #对向量(1,2,3,4)中的每个元素复制两次
[1] 1 1 2 2 3 3 4 4

从上面的例子我们可以看出,times这个参数控制整个数组循环几遍,而each这个参数控制数组中每个element循环几遍。我们也可通过time这个参数来指定数组中每个元素重复几遍。

rep(1:4, each = 2)
[1] 1 1 2 2 3 3 4 4
rep(1:4, times=c(2,2,2,2))  #跟each=2的效果是一样
[1] 1 1 2 2 3 3 4 4
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)
[1] 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4

length.out这个参数控制输出长度为多少

rep(1:4, each = 2, len = 4)  #长了会被截掉,本来长度应该是8
[1] 1 1 2 2

rep(1:4, each = 2, len = 13) #短了会根据前面规则补上,本来长度是8
[1] 1 1 2 2 3 3 4 4 1 1 2 2 3

【R语言】rep函数的使用

你可能感兴趣的:(【R语言】rep函数的使用)