Buenos dias a todos, Me gustaria genear n muestras de una N(0,1) a determinados intervalos de tiempo. Asi por ejemplo, si el vector de tiempos es tiempos <- c(2, 4, 6) la primera columan debe generarse a los 2 segundos de ejecutado el script, la 2a columna a los 4 segundos y la ultima a los 6 segundos. Al final el tiempo total de ejecucion sera aproximadamente 12 segundos para completar una matriz de orden n x 3. He intentado lo siguiente: # generating random samples of a N(0,1) at intervals of time intervals <- c(2, 4, 6) now <- Sys.time() m <- matrix(NA, ncol = length(intervals), nrow = 20) for(time in 1:length(intervals)){ Sys.sleep(min(intervals)) k <- as.numeric(Sys.time() - now) if(k > intervals[time]) { m[, time] <- rnorm(20) # hacer algo! cat('Lo hice despues de ', k, ' segundos!', "\n") } # end if } m Lo anterior funciona muy bien para tiempos "pequeños", pero en la aplicacion que estoy trabajando, los tiempos podrian ser de 30, 60 y 90 minutos. Tambien podria incluir la ejecucion del algoritmo cada X segundos. Alguna sugerencia? Muchas gracias a todos! Esta es mi sessionInfo():> sessionInfo()R version 3.0.0 Patched (2013-04-08 r62531) Platform: x86_64-apple-darwin10.8.0 (64-bit) locale: [1] en_AU.UTF-8/en_AU.UTF-8/en_AU.UTF-8/C/en_AU.UTF-8/en_AU.UTF-8 attached base packages: [1] stats graphics grDevices utils datasets methods base Saludos cordiales, Jorge.- [[alternative HTML version deleted]]
Hola Jorge, Puesto que trabajas en Mac, lo tienes muy inmediato el hacerlo sobre shell-script con los comandos "cron" y "crontab" si no recuerdo mal. En el cron/crontab lo que dirías es que se lanzara un script de R (este script de R incluye el generador las funciones y hasta su cierre con "q()"). De esta forma no tienes por qué tener una instancia de R abierta de forma constante. El control lo tiene directamente el sistema operativo. Saludos, Carlos Ortega www.qualityexcellence.es El 8 de octubre de 2013 17:04, Jorge I Velez <jorgeivanvelez@gmail.com>escribió:> Buenos dias a todos, > > Me gustaria genear n muestras de una N(0,1) a determinados intervalos de > tiempo. Asi por ejemplo, si el vector de tiempos es > > tiempos <- c(2, 4, 6) > > la primera columan debe generarse a los 2 segundos de ejecutado el script, > la 2a columna a los 4 segundos y la ultima a los 6 segundos. Al final el > tiempo total de ejecucion sera aproximadamente 12 segundos para completar > una matriz de orden n x 3. > > He intentado lo siguiente: > > # generating random samples of a N(0,1) at intervals of time > intervals <- c(2, 4, 6) > now <- Sys.time() > m <- matrix(NA, ncol = length(intervals), nrow = 20) > for(time in 1:length(intervals)){ > Sys.sleep(min(intervals)) > k <- as.numeric(Sys.time() - now) > if(k > intervals[time]) { > m[, time] <- rnorm(20) # hacer algo! > cat('Lo hice despues de ', k, ' segundos!', "\n") > } # end if > } > m > > Lo anterior funciona muy bien para tiempos "pequeños", pero en la > aplicacion que estoy trabajando, los tiempos podrian ser de 30, 60 y 90 > minutos. Tambien podria incluir la ejecucion del algoritmo cada X > segundos. Alguna sugerencia? > > Muchas gracias a todos! > > Esta es mi sessionInfo(): > > > sessionInfo() > R version 3.0.0 Patched (2013-04-08 r62531) > Platform: x86_64-apple-darwin10.8.0 (64-bit) > > locale: > [1] en_AU.UTF-8/en_AU.UTF-8/en_AU.UTF-8/C/en_AU.UTF-8/en_AU.UTF-8 > > attached base packages: > [1] stats graphics grDevices utils datasets methods base > > Saludos cordiales, > Jorge.- > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Hola Carlos. Muchas gracias por la sugerencia. En realidad me gustaria tener la posibilidad de que el script fuera multiplataforma. Alguna otra sugerencia? Gracias! --JIV Sent from my phone. Please excuse my brevity and misspelling. On Oct 8, 2013, at 10:57 AM, Carlos Ortega <cof@qualityexcellence.es> wrote: Hola Jorge, Puesto que trabajas en Mac, lo tienes muy inmediato el hacerlo sobre shell-script con los comandos "cron" y "crontab" si no recuerdo mal. En el cron/crontab lo que dirías es que se lanzara un script de R (este script de R incluye el generador las funciones y hasta su cierre con "q()"). De esta forma no tienes por qué tener una instancia de R abierta de forma constante. El control lo tiene directamente el sistema operativo. Saludos, Carlos Ortega www.qualityexcellence.es El 8 de octubre de 2013 17:04, Jorge I Velez <jorgeivanvelez@gmail.com>escribió:> Buenos dias a todos, > > Me gustaria genear n muestras de una N(0,1) a determinados intervalos de > tiempo. Asi por ejemplo, si el vector de tiempos es > > tiempos <- c(2, 4, 6) > > la primera columan debe generarse a los 2 segundos de ejecutado el script, > la 2a columna a los 4 segundos y la ultima a los 6 segundos. Al final el > tiempo total de ejecucion sera aproximadamente 12 segundos para completar > una matriz de orden n x 3. > > He intentado lo siguiente: > > # generating random samples of a N(0,1) at intervals of time > intervals <- c(2, 4, 6) > now <- Sys.time() > m <- matrix(NA, ncol = length(intervals), nrow = 20) > for(time in 1:length(intervals)){ > Sys.sleep(min(intervals)) > k <- as.numeric(Sys.time() - now) > if(k > intervals[time]) { > m[, time] <- rnorm(20) # hacer algo! > cat('Lo hice despues de ', k, ' segundos!', "\n") > } # end if > } > m > > Lo anterior funciona muy bien para tiempos "pequeños", pero en la > aplicacion que estoy trabajando, los tiempos podrian ser de 30, 60 y 90 > minutos. Tambien podria incluir la ejecucion del algoritmo cada X > segundos. Alguna sugerencia? > > Muchas gracias a todos! > > Esta es mi sessionInfo(): > > > sessionInfo() > R version 3.0.0 Patched (2013-04-08 r62531) > Platform: x86_64-apple-darwin10.8.0 (64-bit) > > locale: > [1] en_AU.UTF-8/en_AU.UTF-8/en_AU.UTF-8/C/en_AU.UTF-8/en_AU.UTF-8 > > attached base packages: > [1] stats graphics grDevices utils datasets methods base > > Saludos cordiales, > Jorge.- > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]