6

当我执行:

rep(1:4, rep(4,4))

我明白了

1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 

这是预期的。但是当我尝试将长度固定为 16(这是输出的长度)时,如下所示:

rep(1:4, rep(4,4), length.out = 16)

我明白了

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

这很奇怪。我认为这两个命令都应该执行相同的功能。有人可以帮忙吗?

谢谢!

4

2 回答 2

14

?rep

'length.out' 可以代替'times',在这种情况下,'x' 被重复多次以创建这个长度的向量。如果两者都给出,'length.out' 优先,'times' 被忽略。

于 2012-08-08T18:15:56.977 回答
-2

rep(1:4,,rep(4,4),length.out=16)将给出您正在寻找的结果。更简单的写法是rep(1:4,,16,4).

于 2014-05-09T02:13:50.640 回答