ループを入力せずに、ただ1つのapply()
コマンドで次のタスクを実行したい。ベクトルにリストを貼り付け、ベクトルレベルごとにリストを繰り返す
私はN
がb
の要素にa
の各繰り返しを貼り付け、ベクトルb
の長さであるN
回、繰り返したいリストa
を持っています。私はa
前b
を貼り付けることができればそれが最適だろう
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
:
これまでのところ私は、次のMWEを行っています。
私の出発点は、var
,treat
、spec
の3つのベクトルですので、その点から何かを自由に変更してください。
!本当にありがとう – DaniCee