it-swarm.com.de

Drucken Sie den Inhalt von Strings und Variablen in R in derselben Zeile

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.

151
user2015601

Sie können paste mit print verwenden.

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

oder cat

cat("Current working dir: ", wd)
237
agstudy

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))
49
krlmlr

Oder mit message

message("Current working dir: ", wd)

@ agstudys Antwort ist hier besser geeignet

17
Jilber Urbina

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.

12
user1526693

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.

11
krlmlr

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.

6
Dainis Boumber

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)
0
Codemaker