我想完成以下任務,而不必輸入for
循環,而是在單個apply()
命令中輸入。將一個列表粘貼到一個矢量,重複每個矢量級別的列表
我有一個列表a
,我想重複N
次,其中N
是矢量b
的長度,a
每次重複粘貼到的b
的元件。
到目前爲止,我已經做了以下MWE:
var <- paste("var", 1:4, sep="")
treat <- c("A","B")
spec <- paste("sp", 1:3, sep="")
a <- combn(var, 2, simplify = FALSE)#this 6 times, for each treatment and species
b <- do.call(paste, c(expand.grid(treat, spec), sep='.'))
a1 <- lapply(a, paste, b[1], sep='.')
a2 <- lapply(a, paste, b[2], sep='.')
a3 <- lapply(a, paste, b[3], sep='.')
a4 <- lapply(a, paste, b[4], sep='.')
a5 <- lapply(a, paste, b[5], sep='.')
a6 <- lapply(a, paste, b[6], sep='.')
a.final <- c(a1,a2,a3,a4,a5,a6)
a.final
這將是最佳的,如果我能a
之前粘貼b
。
請注意,我的出發點是3個向量:var
,treat
和spec
,所以請隨時更改此處的任何內容。
就是這樣!非常感謝 – DaniCee