Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

184
Vistas
El código de referencia R no genera salida

No soy un usuario de R, pero estoy tratando de generar información de referencia en varias computadoras que administro para informar una próxima compra.

Estoy usando R en la línea de comandos (versión 3.2.3) y escribo lo siguiente dentro de R, pero esto no genera ningún resultado dentro de R. Tenga en cuenta que el paquete rbenchmark ya se ha instalado.

¡Cualquier sugerencia o idea será muy apreciada! ¡Gracias!

 > source("rbenchmark_ex.R") Loading required package: rbenchmark >

El archivo rbenchmark_ex.R :

 require('rbenchmark') benchmark(1:10^6) # Example 1 ------ # Benchmarking the allocation of one 10^6-element numeric vector, # by default replicated 100 times benchmark(1:10^6) # simple test functions used in subsequent examples random.array = function(rows, cols, dist=rnorm) array(dist(rows*cols), c(rows, cols)) random.replicate = function(rows, cols, dist=rnorm) replicate(cols, dist(rows)) # Example 2 ---------- # Benchmarking an expression multiple times with the same replication count, # output with selected columns only benchmark(replications=rep(100, 3), random.array(100, 100), random.array(100, 100), columns=c('test', 'elapsed', 'replications')) # Example 3 --------- # Benchmarking two named expressions with three different replication # counts, output sorted by test name and replication count, # with additional column added after the benchmark within(benchmark(rep=random.replicate(100, 100), arr=random.array(100, 100), replications=10^(1:3), columns=c('test', 'replications', 'elapsed'), order=c('test', 'replications')), { average = elapsed/replications }) # Example 4 # Benchmarking a list of arbitrary predefined expressions tests = list(rep=expression(random.replicate(100, 100)), arr=expression(random.array(100, 100))) do.call(benchmark, c(tests, list(replications=100, columns=c('test', 'elapsed', 'replications'), order='elapsed')))
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si obtiene un archivo, no se imprime nada de manera predeterminada. Hay varios enfoques para resolver esto, dependiendo de lo que quieras exactamente.

Salida en la consola R

Si desea forzar que solo se impriman algunas cosas, puede envolverlas en el comando print() . Ejemplo:

 print(benchmark(1:10^6))

Si desea imprimir todo, también puede proporcionar más argumentos a la función source() . Hay tres posibilidades útiles:

  • source("rbenchmark_ex.R", echo = TRUE) : Esto repite el código que se evalúa e imprime el resultado después de cada línea de código. Básicamente, parece que escribiría cada línea del script en la consola y la evaluaría.

  • source("rbenchmark_ex.R", print.eval = TRUE) : Esto solo imprime el resultado, pero no refleja el código fuente.

  • source("rbenchmark_ex.R", echo = TRUE, print.eval = FALSE) : Esto solo repite el código, pero no imprime los resultados. (quizás no tan útil...)

Salida a un archivo

Tal vez prefiera tener los resultados en un archivo. Esto se puede hacer usando sink() (como lo sugiere 42- en su comentario). Simplemente agregue la siguiente línea a su secuencia de comandos y toda la salida que viene después se escribirá en el archivo:

 sink("output.txt")

A continuación, puede obtener el script en la consola de R y seguir utilizando las opciones descritas anteriormente para especificar qué tipo de salida desea.

Usando la línea de comando

También puede hacerlo directamente desde la línea de comandos sin tener que iniciar primero la consola R. Por ejemplo:

 Rscript -e 'source("rbenchmark_ex.R", echo = TRUE)'

Esto escribirá el resultado en la consola (desde donde puede, por supuesto, redirigirlo con > ) o en un archivo, si ha usado sink() en el script. También puede ejecutar directamente

 Rscript rbenchmark_ex.R

pero esto solo imprimirá el resultado y no repetirá el código.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda