习题2.3

构造一个向量x,向量是由5个1,3个2,4个3和2个4构成,注意用到 rep() 函数.

解答:

> x = rep(1:4,c(5,3,4,2))
> x
 [1] 1 1 1 1 1 2 2 2 3 3 3 3 4 4
> 

注:

s<-rep(x,each,times,len)对于一个完整的rep()函数包括三个方面”重复的次数,重复的长度和重复的方式”。默认情况下,length是不设定的,并且以times而不是each的方式进行重复运算。

rep(1:4, 2)                   # [1] 1 2 3 4 1 2 3 4
rep(1:4, each = 2)            # [1] 1 1 2 2 3 3 4 4,和第一个不一样
rep(1:4, c(2,2,2,2))          # 与第二个一样
rep(1:4, c(2,1,2,1))          # [1] 1 1 2 3 3 4
rep(1:4, each = 2, len = 4)   # 从8个中选取前4个
rep(1:4, each = 2, len = 10)  # 当长度不够时,再进行循环,直至长度够为止
rep(1:4, each = 2, times = 3) # 先按照each进行重复,再进行times重复
rep(1:3, 1:3)                 # rep(1:3,c(1,2,3)) [1] 1 2 2 3 3 3,三个元素分别重复
rep(1, 40*(1-.8))             # 1-.8 = 0.2,得到的长度只有7个
rep(1, 40*(1-.8)+1e-7)        # 加上一个略大于0的实数,就变成了8个了