¿Hay alguna forma de imprimir texto y contenido variable en la misma línea? Por ejemplo,
wd <- getwd()
print("Current working dir: ", wd)
No pude encontrar nada sobre la sintaxis que me permitiera hacer esto.
Puedes usar pasteconprint
print(paste0("Current working dir: ", wd))
o cat
cat("Current working dir: ", wd)
sep = ''o obtendrás un espacio extra.cat()obtengo unNULLal final :(print(cat("test", var))que debería sercat("test", var)También hay
sprintf():Para imprimir en la salida de la consola, use
cat()omessage():fuente
sprintfno se imprime, solo formatea la cadena. Algo como print (sprintf (...)) es necesario dentro de los scripts.O usando
messageLa respuesta de @agstudy es la más adecuada aquí
fuente
La forma más fácil de hacer esto es usar
paste()paste0()daría como resultado lo siguiente:Observe que no hay separador predeterminado entre la cadena y x. Usar un espacio al final de la cadena es una solución rápida:
Luego combine cualquiera de las funciones con
print()O
Como han dicho otros usuarios, también puedes usar
cat()fuente
El paquete {glue} ofrece interpolación de cadenas. En el ejemplo,
{wd}se sustituye con el contenido de la variable. Las expresiones complejas también son compatibles.Creado el 13/05/2019 por el paquete reprex (v0.2.1)
Observe cómo la salida impresa no contiene los
[1]artefactos y las"comillas, para lo cual se utilizan otras respuestascat().fuente
Como dijeron otros usuarios, cat () es probablemente la mejor opción.
@krlmlr sugirió usar sprintf () y actualmente es la tercera respuesta clasificada. sprintf () no es una buena idea. De la documentación de R:
No hay una buena razón para usar sprintf () sobre cat u otras opciones.
fuente
puede usar el método paste0 o cat para combinar una cadena con valores variables en R
Por ejemplo:
fuente