2013-02-22 66 views
1

所以這是一個很奇怪的問題,但我在R中有兩個向量:一個是ID的順序列表,另一個是我希望該ID出現在多少次新的矢量。在R中使用兩個向量來創建一個新的

例如:

ids: A B C D 
times: 4 2 5 3 

,我想用

new: A A A A B B C C C C C D D D 

落得這是否有道理?

回答

5

使用rep功能,如:

> rep(c('A', 'B', 'C', 'D'), times=c(4, 2, 5, 3)) 
[1] "A" "A" "A" "A" "B" "B" "C" "C" "C" "C" "C" "D" "D" "D" 
+3

和公正的興趣,該方法的反函數是'rle',這需要一個載體如A,A,A,A,B,B,C,C和吐出的值和數量重複。 – Spacedman 2013-02-23 08:44:41

1

使用rep()

> rep(LETTERS[1:4], times = c(4,2,5,3)) 
[1] "A" "A" "A" "A" "B" "B" "C" "C" "C" "C" "C" "D" "D" "D" 
1

這當然是有道理的。

rep(c("A","B","C","D"),times=c(4,2,5,3)) 
[1] "A" "A" "A" "A" "B" "B" "C" "C" "C" "C" "C" "D" "D" "D" 
相關問題