R - Muss ich mit print () ein explizites neues Zeilenzeichen hinzufügen?

73

Wie verwende ich das neue Zeilenzeichen in R?

myStringVariable <- "Very Nice ! I like";

myStringVariabel <- paste(myStringVariable, "\n", sep="");

Der obige Code funktioniert NICHT

PS Es gibt erhebliche Herausforderungen beim Googeln dieser Art von Sachen, da die Abfrage "R neue Zeile Zeichen" Google zu verwirren scheint. Ich wünschte wirklich, R hätte einen anderen Namen.

MadSeb
quelle
11
Deshalb ist RSeek da!
Nico
4
Was ist die Ausgabe, die Sie wollen? macht cat(paste('first line','\n','new line'))was du erwartest R analysiert keine Zeichenfolgen, es sei denn, Sie bitten darum. auch dieser SO Beitrag
Justin
3
'newline' ist ein Wort. Sollte dir beim googeln helfen.
smci

Antworten:

153

Die Natur von R bedeutet, dass Sie niemals einen Zeilenumbruch in einem Zeichenvektor haben, wenn Sie ihn einfach ausdrucken.

> print("hello\nworld\n")
[1] "hello\nworld\n"

Das heißt, die Zeilenumbrüche befinden sich in der Zeichenfolge. Sie werden nur nicht als neue Zeilen gedruckt. Sie können jedoch andere Funktionen verwenden, wenn Sie sie drucken möchten, z. B. cat :

> cat("hello\nworld\n")
hello
world
David Robinson
quelle
15
Siehe auch Kreis 8.1.22 von 'The R Inferno' burns-stat.com/pages/Tutor/R_inferno.pdf
Patrick Burns
8

Beispiel für NewLine Char:

for (i in 1:5)
  {
   for (j in 1:i)
    {
     cat(j)
    }
    cat("\n")
  }

Ergebnis:

    1
    12
    123
    1234
    12345
Areya
quelle
7

Sie können auch verwenden writeLines.

> writeLines("hello\nworld")
hello
world

Und auch:

> writeLines(c("hello","world"))
hello
world
abalter
quelle