2014-02-18 35 views
2

這行代碼rep(c(0), 2) 迭代創建複製和R中

x 
1 0 
2 0 

我想以某種擴展此,在適當的R的方式,使我結束了類似下面的向量。基本上,我想成對追加整數這樣:

x 
1 0 
2 0 
3 1 
4 1 
5 2 
6 2 

我喜歡這種感覺爲R的反感迴路其中有意想不到的副作用的例子,使簡單的事情看起來不熟悉,讓我長了其他其他語言的工具,比如Python中的numpy。

以這種方式我可以迭代和增加的最佳方式是什麼?

+9

'rep(0:2,each = 2)'? – Nishanth

+0

'rep'是非常強大的,而且是這麼常用的功能,這是很值得看'例子(REP)'。 –

回答

1

複製Nishanth的答案,這正是你想要的。

rep(0:2, each=2) 
-2
data.frame(x = unlist(lapply(0:2, rep, 2))) 
+0

我不明白爲什麼這是低票。好的,這不是一個非常有效的方法,但它會產生正確的結果。 –

+0

感謝您的支持。 說實話,類似的做法: data.frame(x =排序(REP(0:2,每個= 2))) 應該是更有效的 –

+0

沒有必要爲'sort'。 –