C'è un modo per rendere foreach() restituisce una lista nominata/data.frame. Per esempio.foreach: Mantieni nomi
foo <- list(a = 1, b = 2)
bar <- foreach (x = foo) %do% { x * 2 }
restituisce list(2, 4)
. Vorrei che restituisse list(a = 2, b = 4)
.
Inoltre, c'è un modo per accedere al nome all'interno del corpo del loop?
(io non sono interessato a una soluzione che assegna i nomi dopo il ciclo foreach.)
saluti
Non sono sicuro che 'foreach' abbia la funzionalità per questo. Comunque puoi cambiare il tuo ciclo in 'foreach (i = seq_along (foo)) {x <- foo [[i]]; ...} 'che ti permetterà di accedere al nome di ogni elemento con' names (foo) [i] ' – konvas
Puoi anche usare' x = Map (struttura, .Data = lapply (foo, list), names = names (foo)) 'per ottenere i nomi all'interno del ciclo, come se il ciclo usasse' ['invece di' [['per accedere agli elementi di' foo'. –