我想完成以下任务,而不必输入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