#r #list #for-loop
#r #Список #для цикла
Вопрос:
У меня есть цикл, который приводит к 5 векторам разных размеров, я хотел бы знать, как назначить эти векторы в одном списке.
Минимальный пример того, что я пытаюсь сделать, и где я ошибаюсь, будет:
m=5;n=10
sh=c(0,0,0,0,-39,-75,-12,11,-15)
th=c(0,0,0,0,-19,-86,-74,-53,-41)
Cj=c(-9,-7,-5,-3,-1,1,3,6,6,9)
for(k in m:n-1){
Ai=vector("numeric", k)
for(i in 1:k){
Ai[i]=exp(sh[k] Cj[i]*th[k])/(1 exp(sh[k] Cj[i]*th[k]))^2
}
}
Ответ №1:
Вы могли бы сделать что-то вроде этого.
a1 <- 1
a2 <- 2
a3 <- 3
xy <- ls(pattern = "a")
fl <- list()
for (i in seq_along(xy)) {
fl[i] <- get(xy[i])
}
names(fl) <- xy
$a1
[1] 1
$a2
[1] 2
$a3
[1] 3
Или, для удовольствия, вы можете использовать mget
:
> mget(xy)
$a1
[1] 1
$a2
[1] 2
$a3
[1] 3