2015-11-02 101 views
2

當我執行:代表功能奇怪的錯誤

a <- seq(1,1.5,0.1) 
b <- c(1,1.1,1.4,1.5) 

x <- rep(c(a,b),times=c(2,1)) 

錯誤代表(C(A,B),C(2,1)):無效 '次' 參數

爲什麼?

+4

當您連接它是一個載體的替代品。 – akrun

回答

7

當我們連接(c)兩個向量時,它變成一個單獨的向量。如果想法是將'a'加2和'b'加1,我們將它們放在list中,並使用rep。輸出將是list,可以是unlist編輯得到vector

unlist(rep(list(a,b), c(2,1))) 
+0

但是當我做'rep(c(0,7),times = c(4,2))'它正在工作。所以我困惑。 – Alexander

+0

@Alexander 0,7的長度是兩個匹配的時間長度。 – akrun

+0

好的,我明白了。所以我可以問我關於試衣的主要問題:) – Alexander

1

已標記的回答是,已經完全使用這裏mapply

unlist(mapply(function(x,n)rep(x,n),list(a,b),c(2,1)))