¿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 paste
conprint
print(paste0("Current working dir: ", wd))
o cat
cat("Current working dir: ", wd)
sep = ''
o obtendrás un espacio extra.cat()
obtengo unNULL
al 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
sprintf
no se imprime, solo formatea la cadena. Algo como print (sprintf (...)) es necesario dentro de los scripts.O usando
message
La 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