Package base version 4.2.0
Description
rep 复制参数【x】中的值。它是一个泛型函数,这里描述了(内部)默认方法。
对于两种常见情况,rep.int 和 rep_len 是更快的简化版本。在内部,它们是泛型的,因此可以为它们定义方法。
Usage
rep(x, ...)
rep.int(x, times)
rep_len(x, length.out)
Arguments
参数【x】:一个向量(任何模式,包括列表)或一个因子,或(仅针对 rep)一个 POSIXct 或 POSIXlt 或 Date 对象;或包含该对象的 S4 对象。
参数【...】:传递给其他方法或从其他方法传递的进一步参数。对于内部默认方法,这些可以包括:
- 参数【times】:一个整数值向量,给出长度为 length(x) 的每个元素重复的(非负)次数,或者长度为 1 的整个向量重复的次数。负值或 NA 值是错误的。双精度向量被接受,其他输入被强制转换为整数或双精度向量。
- 参数【length.out】:非负整数。输出向量的期望长度。其他输入将被强制转换为双向量和第一个元素。如果 NA 或无效则忽略。
- 参数【each】:非负整数。参数【x】的每个元素每次都重复。其他输入将被强制转换为整型或双精度向量,并获取第一个元素。如果 NA 或无效,则视为 1。
参数【times,length.out】:略。
Details
默认行为就是调用:rep(x, times = 1, length.out = NA, each = 1)。通常只指定一个附加参数,但如果参数【each】指定了其他两个参数中的任何一个,则首先执行其复制,然后执行由参数【times】或参数【length.out】决定的复制。
如果参数【times】由单个整数组成,则结果由重复多次的整个输入组成。如果参数【times】是与参数【x】长度相同的向量(分别复制后),则结果为 x[1] 重复乘以 [1] 次, x[2] 重复乘以 [2] 次,以此类推。
参数【length.out】可以代替参数【times】,在这种情况下,参数【x】被重复多少次就重复多少次来创建这个长度的向量。如果两者都给定,则参数【length.out】优先,参数【times】被忽略。
参数【times】的非整数值将被截断为零。如果时间是一个计算量,则谨慎地添加小数或使用 round。参数【each】也一样。
如果参数【x】的长度为 0。如果提供参数【length.out】并且为正数,则使用提取规则填充值,即使用原子向量(原始向量为0)的适当类的 NA 和列表的 NULL 填充值。
Value
与参数【x】相同类型的对象。
rep.int 和 rep_len 不返回任何属性(除了返回因子的类)。
如果参数【x】有名称,rep 的默认方法给出结果名称(几乎总是包含重复项),但不保留其他属性。
Note
函数 rep.int 是一个简单的例子,它作为一个单独的函数提供,部分是为了 S 的兼容性,部分是为了速度(特别是当名称可以删除时)。从那以后,rep 的性能得到了改进,但是当参数【x】有名称时,rep.int 的速度仍然至少是原来的两倍。