2015-11-01 333 views
-1

我以R语言开始,我必须使用rep()seq()创建此向量。使用rep()和seq()创建此向量

1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 

我一直在尝试一些东西,但我没有达到它。

+3

硬是没有一个答案使用序列和代表。但这可能是我的似曾相识,因为[这个其他问题](http://stackoverflow.com/questions/21667405/iterate-through-numbers-using-seq-and-rep)与答案相同。或者我只是需要一些睡眠 – rawr

+1

@rawr,这可能是我从这里以来见过的最重复的愚蠢。这可能是一些Coursera喜欢每次给予相同任务的机构。 –

回答

3

我们可以尝试

1:5 + rep(0:4,each=5) 
#[1] 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 
3

还是这样吗?

c(sapply(1:5, function(x) seq(x,x+4))) 
[1] 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 
+0

感谢您的回答,我也会使用这个答案,虽然我们现在在课堂上的第一个月里仍然非常简单。 – Hotkrat

2

只是为了运动,增加使用它data.table版本的shift功能

unlist(data.table(1:10)[, shift(V1, 5:1)][6:10], use.names = FALSE) 
# [1] 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 
+0

@RichardScriven好的电话,忘了那个说法。 –