2015-11-01 111 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好的電話,忘了那個說法。 –