我想重复一个包含11个元素3、2和1的向量,然后尝试下面的尴尬代码,这些代码给了我我想要的(66的向量。如何更好地做到这一点?

myd<-paste(letters[1:11])
mye<-rep(myd,each =3)
myf<-rep(myd,each =2)
myg<-rep(myd,each =1)
myh<-c(mye,myf,myg)

length(myh)
[1] 66

最佳答案

我会使用sapplyunlist:

dat = unlist(sapply(3:1, function(x) rep(myd, each = x)))
all.equal(dat, myh)
[1] TRUE

10-07 22:25