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.


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

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

7

Sie können auch verwenden writeLines.

> writeLines("hello\nworld")
hello
world

Und auch:

> writeLines(c("hello","world"))
hello
world
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.