2012-01-20 46 views
1

如果我有一個矢量c(2, 1, 0)其中矢量的總和始終等於矢量的長度,是否可以從另一個矢量中選擇數據,以便我將得到2第一個元素的第一個元素,第二個元素的第一個元素,還有第三個元素沒有?更一般地,對於向量a和索引,其中sum(index) == length(index)我會得到index[i]號碼a[i]按出場次數選擇數據

我希望這已經夠清楚了,但是它在我腦海中相當混亂。我可以用循環來實現,但我想要一個基於矢量的解決方案。

謝謝!

回答

2
rep(letters[1:3], c(2, 1, 0)) 
#[1] "a" "a" "b" 

我想補充一點的是sum(index) == length(index)沒有強制執行的財產。那將是你構建「索引」的過程仍然負責的事情。

+0

謝謝。 –