Domanda Stampa stringa e contenuto variabile sulla stessa riga in R


C'è un modo per stampare testo e contenuti variabili sulla stessa linea? Per esempio,

wd <- getwd()
print("Current working dir: ", wd)

Non sono riuscito a trovare nulla sulla sintassi che mi permettesse di farlo.


129
2018-03-23 17:07


origine


risposte:


Puoi usare paste con print

print(paste0("Current working dir: ", wd))

o cat

cat("Current working dir: ", wd)

198
2018-03-23 17:08



C'è anche sprintf():

sprintf("Current working dir: %s", wd)

Per stampare sull'output della console, utilizzare cat() o message():

cat(sprintf("Current working dir: %s\n", wd))
message(sprintf("Current working dir: %s\n", wd))

44
2018-03-23 17:18



O usando message

message("Current working dir: ", wd)

la risposta di @ agstudy è la più adatta qui


14
2018-03-23 17:14



Il modo più semplice per farlo è quello di usare paste()

> paste("Today is", date())
[1] "Today is Sat Feb 21 15:25:18 2015"

paste0() comporterebbe quanto segue:

> paste0("Today is", date())
[1] "Today isSat Feb 21 15:30:46 2015"

Si noti che non esiste un separatore predefinito tra la stringa e x. Utilizzare uno spazio alla fine della stringa è una soluzione rapida:

> paste0("Today is ", date())
[1] "Today is Sat Feb 21 15:32:17 2015"

Quindi combinare una delle due funzioni con print()

> print(paste("This is", date()))
[1] "This is Sat Feb 21 15:34:23 2015"

O

> print(paste0("This is ", date()))
[1] "This is Sat Feb 21 15:34:56 2015"

Come altri utenti hanno dichiarato, potresti anche usarlo cat()


10
2018-02-21 20:39



Come hanno detto altri utenti, cat () è probabilmente l'opzione migliore.

@krlmlr ha suggerito di usare sprintf () ed è attualmente la terza risposta classificata. sprintf () non è una buona idea. Dalla documentazione R:

La stringa di formato viene trasmessa tramite la funzione sprintf del sistema operativo e formati errati possono causare il blocco del processo R da parte di quest'ultimo.

Non c'è una buona ragione per usare sprintf () su cat o altre opzioni.


6
2018-06-21 14:38