同じ長さの単純なリストと単純なベクトルがあります。ith
ベクトルのith
要素をリストの要素に追加したいと思います。この for ループよりも優れた方法はありますか?
test <- list(element1=list(a=1,b=2,a1=8),
element2=list(a=9,d=17))
vec <- c(12,25)
for (i in 1:length(test)){
test[[i]] <- c(test[[i]],vec[i])
}
に相当する多変量を使用しsapply
ますmapply
。以下のコードでは、関数c
は各test
andの最初の要素に適用されvec
、次に 2 番目の要素などに適用されます。
test = mapply(c, test, vec)
for ループは常に lapply/apply/sapply に変換できます。コードの例を次に示します。
"for"(i, 1:length(test), test[i] <- c(test[[i]], vec[i]))
test <- lapply(1:length(test), function(i) c(test[[i]], vec[i]))