Gibt es eine Möglichkeit, Text und variablen Inhalt in derselben Zeile zu drucken? Zum Beispiel,
wd <- getwd()
print("Current working dir: ", wd)
Ich konnte nichts über die Syntax finden, die es mir erlaubte, dies zu tun.
Sie können paste
mit print
verwenden.
print(paste0("Current working dir: ", wd))
oder cat
cat("Current working dir: ", wd)
Es gibt auch sprintf()
:
sprintf("Current working dir: %s", wd)
Verwenden Sie zum Drucken auf die Konsolenausgabe cat()
oder message()
:
cat(sprintf("Current working dir: %s\n", wd))
message(sprintf("Current working dir: %s\n", wd))
Oder mit message
message("Current working dir: ", wd)
@ agstudys Antwort ist hier besser geeignet
Der einfachste Weg dies zu tun ist die Verwendung von paste()
> paste("Today is", date())
[1] "Today is Sat Feb 21 15:25:18 2015"
paste0()
würde folgendes ergeben:
> paste0("Today is", date())
[1] "Today isSat Feb 21 15:30:46 2015"
Beachten Sie, dass es keinen Standardseparator zwischen der Zeichenfolge und x gibt. Ein Leerzeichen am Ende der Zeichenfolge ist eine schnelle Lösung:
> paste0("Today is ", date())
[1] "Today is Sat Feb 21 15:32:17 2015"
Dann kombinieren Sie eine der Funktionen mit print()
> print(paste("This is", date()))
[1] "This is Sat Feb 21 15:34:23 2015"
Oder
> print(paste0("This is ", date()))
[1] "This is Sat Feb 21 15:34:56 2015"
Wie andere Benutzer angegeben haben, können Sie auch cat()
verwenden.
Das {Glue} -Paket bietet String-Interpolation. Im Beispiel wird {wd}
durch den Inhalt der Variablen ersetzt. Auch komplexe Ausdrücke werden unterstützt.
library(glue)
wd <- getwd()
glue("Current working dir: {wd}")
#> Current working dir: /tmp/RtmpteMv88/reprex46156826ee8c
Erstellt am 13.05.2019 von reprex package (v0.2.1)
Beachten Sie, dass die gedruckte Ausgabe keine [1]
-Artefakte und "
-Anführungszeichen enthält, für die andere Antworten cat()
verwenden.
Wie andere Benutzer sagten, ist cat () wahrscheinlich die beste Option.
@krlmlr schlug die Verwendung von sprintf () vor und ist derzeit die drittplatzierte Antwort. sprintf () ist keine gute Idee. Aus der R-Dokumentation:
Die Formatzeichenfolge wird an die Sprintf-Funktion des Betriebssystems übergeben, und falsche Formate können dazu führen, dass der R-Prozess abstürzt.
Es gibt keinen guten Grund, sprintf () über cat oder andere Optionen zu verwenden.
sie können die Methode paste0 oder cat verwenden, um eine Zeichenfolge mit variablen Werten in R zu kombinieren
Zum Beispiel:
paste0("Value of A : ", a)
cat("Value of A : ", a)