我有一个包含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
...
我知道我可以使用循环...我该怎么做?
答案 0 :(得分:3)
我们可以将rep
与times
一起用于第一列,将rep
与each
用于第二列(如果我们需要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