2013-02-28 65 views
12

我想重複一個向量N次,但元素明智,而不是整個向量。遞歸重複向量元素N次每個

舉例來說,我有:

v <- c('a', 'b') 

說我不想重複n次:

n <- 3 

我想:

vfill <- c(rep(v[1], n), rep(v[2], n)) 
print(vfill) 
[1] "a" "a" "a" "b" "b" "b" 

我迄今爲止最好的解決辦法:

ffillv <- function(i) rep(v[i], n) 
c(sapply(seq_len(length(v)), ffillv)) 

我使用rbind,plyr等

+4

爲什麼不'代表(V很感興趣,快速&擴展的解決方案,例如,每個= 3)'?你能澄清你想要做什麼嗎? – A5C1D2H2I1M1N2O1R2T1 2013-02-28 17:22:54

+0

@AnandaMahto正是我在找的東西。我有一個複雜的目標函數來優化,建立在「不整齊」的數據上。我使用plyr split-apply-combine哲學。在分析過程中,我想訪問一些低級中間數據並將其組合到data.frame中。我學會了一種結合使用的方式,因爲我想使用ldply,但是這種特殊的方式需要我問到的擴展類型。就你而言,我這樣做的方式可能不是最佳的!在不久的將來,我可能會有更多的問題。謝謝。 – Patrick 2013-02-28 22:36:59

回答

28
rep(v, each=3) 

rep(v, each=n) 

,你有N個定義