美文网首页
2021-02-26 rep函数的详细学习

2021-02-26 rep函数的详细学习

作者: 八段锦1134 | 来源:发表于2021-02-26 11:45 被阅读0次

    全称叫Replicate Elements of Vectors and Lists 向量和列表的复制,是基础函数(就是安装上R就直接有的函数)

    rep()

    通用写法:

    rep(x, ...)

    x表示向量或因子等。a vector (of any mode including a [list]) or a factor or (for rep only) a POSIXct or POSIXlt or Date object; or an S4 object containing such an object.
    ···表示进一步的或从其他方法传入的各种参数。对于内部默认方法,这些参数可以包括:

    • 1、times
      一个整数值向量,如果长度设定为length(x),给定重复每个元素的次数(非负),如果长度为1,则重复整个向量。负值或NA值会报错的。接受双向量,其他输入强制转换为整数或双向量。


      图片.png
    • 2、length.out
      非负整数。希望输出的向量长度。其他输入将强制转换为一个双向量并取第一个元素。如果是NA或无效这个参数就被忽略。


      图片.png
    • 3、each
      非负整数。x的每个元素都会被重复的次数。其他输入将强制转换为一个双向量并取第一个元素。如果是NA或无效这个参数就被认为=1。


      每个向量想重复几次就重复几次

    规则:

    1、通常只指定times、length.out、each其中一个附加参数,但如果使用其他两个参数中的任何一个与each参数搭配,则首先执行其each的复制,然后由times或length.out来决定,如下:

    图片.png
    2、如果times由单个整数组成,则结果由重复多次的整个输入X组成。如果times是一个与x相同长度的向量(经过each的复制后),则结果是x[1]重复times[1]次,x[2]重复times[2]次,以此类推。如下:
    图片.png
    3、length.out可以代替times,在这种情况下,x重复多次直到达到length.out规定的长度的为止。如果两者都设定了,则length.out优先,times被忽略。如下:
    图片.png

    因此,优先顺序:each>length.out > times

    4、times如果是非整数值,那么小数点后面部分会被直接截断为零(不会四舍五入的)。如果times是一个计算量,则谨慎地添加一个小值(比如+0.5)或使用round函数(以达到四舍五入的目的)。each参数也是类似。如下:


    图片.png

    5、如果x的实际长度为0,length.out参数输出是正数,使用提取规则填充值,对于原子向量,使用适当类的NA(0表示原始向量),对于列表,使用NULL。

    6、留一个问题没搞懂:


    图片.png

    相关文章

      网友评论

          本文标题:2021-02-26 rep函数的详细学习

          本文链接:https://www.haomeiwen.com/subject/htrmfltx.html