Hola Pablo,
Dale una mirada a lo siguiente:
# datos
d <- rnorm(300)
is.na(d) <- sample(50)
d <- matrix(sample(d), ncol = 5)
d <- data.frame(d)
d
# reemplazando NA''s por ceros -- no necesitas un for!
d[is.na(d)] <- 0
d
# en una funcion
foo <- function(datos){
datos[is.na(datos)] <- 0
datos
}
# ejemplo -- el mismo de antes
d <- rnorm(300)
is.na(d) <- sample(50)
d <- matrix(sample(d), ncol = 5)
d <- data.frame(d)
d
foo(d)
Ahora, si tienes varios data.frames, puedes hacer algo como:
l <- list(d1, d2, ..., dn)
procesado <- lapply(l, foo)
y, para acceder el primer data.frame, escribes
procesado[[1]]
Si estas leyendo los datos de archivos de texto (por ejemplo), entonces
toread <- paste(''d'', 1:n, ''.txt'', sep =
"")
alldata <- lapply(toread, read.table)
procesados <- lapply(alldata, foo)
Para acceder los archivos ya procesados, repites el paso anterior.
Un saludo,
Jorge Ivan Velez
2011/7/1 Pablo Messina <>
> Buenas!
>
> Armé un for() para transformar los datos NA de un data frame a
"Ceros".
> Eso lo pude hacer sin problemas, pero dado que me interesa replicarlo para
> varios "data.frame" me gustaría saber si existe una
> función similar al for () pero en vez de una secuencia de variables, que
> sea
> una sequencia de "data.frames".
>
> Gracias.
>
> [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
[[alternative HTML version deleted]]