solucionario - Perfil de memoria en R-herramientas para resumir
introduccion ala probabilidad y estadistica mendenhall pdf descargar (2)
Echa un vistazo a profr - parece exactamente lo que estás buscando.
R tiene algunas herramientas para Rprofmem()
perfiles de memoria, como Rprofmem()
, Rprof()
con la opción "memory.profiling=TRUE"
y tracemem()
. El último solo se puede usar en objetos, y por lo tanto es útil para seguir cuántas veces se copia un objeto, pero no proporciona una descripción general de una función. Rprofmem
debería poder hacer eso, pero la salida de incluso la llamada de función más simple como lm()
proporciona más de 500 líneas de registro. Traté de averiguar lo que Rprof("somefile.log",memory.profile=T)
, pero no creo que realmente lo Rprof("somefile.log",memory.profile=T)
.
Lo último que pude encontrar fue este mensaje de Thomas Lumley , diciendo eso, y cito:
Todavía no tengo herramientas para resumir la salida.
Esto fue en 2006. ¿Existe alguna posibilidad de que haya opciones para algunos resúmenes Rprofmem()
ahora, basados en Rprofmem()
, la salida misteriosa de Rprof()
con memory.profile
set TRUE o cualquier otra herramienta?
profvis
parece a la solución a esta pregunta.
Genera un archivo .html interactivo (usando htmlwidgets
) que muestra el perfil de su código.
La introducción de viñeta es una buena guía sobre su capacidad.
Tomando directamente de la introducción, lo usarías así:
devtools::install_github("rstudio/profvis")
library(profvis)
# Generate data
times <- 4e5
cols <- 150
data <- as.data.frame(x = matrix(rnorm(times * cols, mean = 5), ncol = cols))
data <- cbind(id = paste0("g", seq_len(times)), data)
profvis({
data1 <- data # Store in another variable for this run
# Get column means
means <- apply(data1[, names(data1) != "id"], 2, mean)
# Subtract mean from each column
for (i in seq_along(means)) {
data1[, names(data1) != "id"][, i] <- data1[, names(data1) != "id"][, i] - means[i]
}
}, height = "400px")
Lo que da