R循环:重复向量n次

时间:2016-02-11 18:05:42

标签: r

我有一个包含5个固定元素的列表,例如

201
202
203
204
205

我想用client = 10

的数量重复n次
201  1
202  1
203  1
204  1
205  1
201  2
202  2
203  2
204  2
205  2
...

我知道我可以使用循环...我该怎么做?

2 个答案:

答案 0 :(得分:3)

我们可以将reptimes一起用于第一列,将repeach用于第二列(如果我们需要data.frame

n <- 5
data.frame(Col1= rep(v1, times = n),
          Col2= rep(seq(n), each=length(v1)))
#   Col1 Col2
#1   201    1
#2   202    1
#3   203    1
#4   204    1
#5   205    1
#6   201    2
#7   202    2
#8   203    2
#9   204    2
#10  205    2
#11  201    3
#12  202    3
#13  203    3
#14  204    3
#15  205    3
#16  201    4
#17  202    4
#18  203    4
#19  204    4
#20  205    4
#21  201    5
#22  202    5
#23  203    5
#24  204    5
#25  205    5

数据

v1 <- 201:205

答案 1 :(得分:2)

当你想要每一件事情时,expand.grid通常很好。在这种情况下,您需要这两个向量的每个组合:

v1 = 201:205
client = 1:10

dd = expand.grid(v1 = v1, client = client)
head(dd)
#    v1 client
# 1 201      1
# 2 202      1
# 3 203      1
# 4 204      1
# 5 205      1
# 6 201      2