En PHP se puede acceder tanto a los nombres y valores de una matriz en un bucle for conObtener nombres de lista en bucle for
foreach ($array as $key => $value) {
¿Hay algo comparable en R, cuando un bucle sobre listas con nombre?
En PHP se puede acceder tanto a los nombres y valores de una matriz en un bucle for conObtener nombres de lista en bucle for
foreach ($array as $key => $value) {
¿Hay algo comparable en R, cuando un bucle sobre listas con nombre?
El uso de algunos datos ficticios y un ejemplo contribuido tonta
ll <- list(A = 1:10, B = LETTERS[1:10], C = letters[1:10])
Puede lapply()
lo largo de los índices de los elementos de ll
:
out <- lapply(seq_along(ll),
function(ind, list, names) {
paste(names[ind], "=", paste(list[[ind]], collapse = ", "))
}, list = ll, names = names(ll))
R> out
[[1]]
[1] "A = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10"
[[2]]
[1] "B = A, B, C, D, E, F, G, H, I, J"
[[3]]
[1] "C = a, b, c, d, e, f, g, h, i, j"
o for()
bucle sobre la lista:
ll2 <- vector("list", length(ll))
nams <- names(ll)
for(i in seq_along(ll)) {
ll2[[i]] <- paste(nams[i], "=", paste(ll[[i]], collapse = ", "))
}
ll2
R> ll2
[[1]]
[1] "A = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10"
[[2]]
[1] "B = A, B, C, D, E, F, G, H, I, J"
[[3]]
[1] "C = a, b, c, d, e, f, g, h, i, j"
Para obtener los nombres de una lis usted solo usa names(list)
.
ll <- list(A = 1:10, B = LETTERS[1:10], C = letters[1:10])
names(ll)
#[1] "A" "B" "C"
* La mayoría de las funciones se aplican los valores que se denominan apropiadamente si el la lista fue nombrado en primer lugar volverá.
sapply(ll, max)
# A B C
#"10" "J" "j"
¿Puede ser un poco más específico acerca de si está pasando por encima de una lista con un bucle 'for' o con algo como' lapply' en R? ¿Tal vez un ejemplo muy básico (en código R)? – joran
@joran: preguntas aclaradas. Sí, para bucles sobre listas. No puedo usar lapply en esta instancia específica. He hecho una pregunta relacionada aquí: http://stackoverflow.com/questions/11112842/r-how-to-store-multi-layer-data – naught101
Ok; solo obtiene la sintaxis de bucle 'for' de vainilla en R. Típicamente, usted se referiría a cada parte (nombre + elemento) al subdividir cualquiera de los 'nombres (miLista)' o 'miLista' con su índice de bucle' i'. – joran