R语言 创建重复值的序列
一个重复的数字序列是一个递增的数字列表,其排列方式是连续的数字之差为1,并且每个数字都重复指定的次数。R为我们提供了多种方法来生成重复序列,包括使用向量或整数。在这篇文章中,我们将看到如何在R编程中创建一个重复值的序列。
方法1:使用 rep() 方法
R基的rep()方法用于从一个指定的向量中生成一个重复序列,其中向量的每个元素可以在任何指定的次数上重复。这个方法可以接受一个字符、浮点或整数类型的输入向量。
语法: Rep(seq, each)
参数
- seq – 要生成一个序列的向量
- each – 重复序列中每个元素的次数
例1: 创建一个重复值的字符序列。
输出
例2: 创建一个重复值的整数序列。
输出
方法2:使用 gl() 方法
基础R中的gl()方法被用来生成模式规范形式的因子。输出取决于级别的数量,每个级别被复制k次,直到达到长度。在没有指定长度的情况下,长度被认为是级别数*每个级别的复制次数。这种方法的缺点是它总是产生一个范围在1到n之间的序列。但是,如果我们需要推翻这个默认的标签,可以给输出分配一个自定义的标签向量。
语法: gl(n, k, length, labels)
参数:
- n – 水平的总数。
- k – 每个层次的重复次数。
- length(默认为:n*k)–输出的长度
- labels – 用于因子水平的标签。
代码
输出
如果长度大于n×k,则在末尾再次追加相同的序列,直到达到矢量的总长度。
输出
解释 :因为6×3=18,所以,从头开始的相同序列被追加,直到达到长度=20。因此,在最后加入1个1。
另外,可以为序列分配定制的标签,结果是实际的序列数字可以被标签向量的相应字母所取代。为了确保正确的映射,标签向量的长度应该与因子水平的数量相同。
输出
解释: 在序列1中,原序列中1的每个实例被101替换,2被102替换,以此类推。同样,在序列2中,1的每个实例被替换为 “a”,2被替换为 “b”,依此类推。