0Pricing
R Academy · Lektion

Ausgabe mit cat() und print() anzeigen

Unterscheiden Sie zwischen cat() für die Konsolenausgabe und print() für Objekte.

Ausgabe mit cat() und print() anzeigen ist eine kostenlose R Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des R Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der R Academy-Kurs umfasst insgesamt 4 Lektionen.

print() — Die Standard-Ausgabefunktion

print() ist die Standardmethode von R zur Anzeige von Objekten. Anhand der Klasse des Objekts wird die passende Formatierungsmethode ausgewählt. In interaktiven Sitzungen ist die Eingabe eines Variablennamens gleichbedeutend mit dem Aufruf von print() für diese Variable.

x <- c(1, 2, 3, 4, 5)
print(x)
# Equivalent to:
x

cat() — Unformatierte Zeichenausgabe

cat() verkettet seine Argumente und gibt sie als unformatierten Text aus – ohne umgebende Anführungszeichen, ohne Indexmarkierungen wie [1] und standardmäßig ohne Zeilenumbruch am Ende. Die Funktion ist für die Ausgabe formatierten Texts gedacht, nicht für die Anzeige von R-Objekten.

name <- 'Alice'
age  <- 30
cat('Name:', name, '\n')
cat('Age:', age, '\n')
cat('Score:', 92.5, '\n')

Wichtiger Unterschied: Anführungszeichen und [1]

Der sichtbarste Unterschied besteht in der Darstellung von Zeichenketten. print() setzt Zeichenketten in Anführungszeichen und fügt [1] hinzu; cat() gibt die Zeichen ohne zusätzliche Formatierung aus.

msg <- 'Hello World'
print(msg)
cat(msg, '\n')

cat() mit dem Argument sep

cat() akzeptiert ein Argument sep, das zwischen jedes Ausgabeelement gesetzt wird. Standardmäßig wird ein einzelnes Leerzeichen verwendet. Verwenden Sie sep = '' für keinen Trenner oder eine andere Zeichenkette, um die Ausgabe präzise zu formatieren.

cat('a', 'b', 'c', sep = '')
cat('a', 'b', 'c', sep = '-')
cat(1:5, sep = ', ')
cat('x =', 42, sep = '')

cat() mit dem Argument fill

Das Argument fill fügt einen Zeilenumbruch ein, wenn die Ausgabe eine angegebene Breite (in Zeichen) überschreitet. Mit fill = TRUE wird die aktuelle Option width verwendet. Das ist praktisch, um lange Wortfolgen umzubrechen.

words <- c('The', 'quick', 'brown', 'fox', 'jumps',
           'over', 'the', 'lazy', 'dog')
cat(words, fill = 30)

Methoden-Dispatch von print()

print() ist eine generische Funktion – sie leitet den Aufruf an eine klassenspezifische Methode weiter. Beispielsweise formatiert print.data.frame Data Frames übersichtlich, während print.factor die Faktorstufen anzeigt. Deshalb sieht derselbe Aufruf bei verschiedenen Objekten unterschiedlich aus.

# print dispatches differently per class
print(42L)                        # integer
print(factor(c('a', 'b', 'a')))   # factor with levels
print(list(x = 1, y = 'hi'))      # list

invisible() — Automatische Ausgabe unterdrücken

invisible(x) gibt sein Argument zurück, unterdrückt jedoch die automatische Ausgabe, wenn ein Wert von einer Funktion oder einem Ausdruck zurückgegeben wird. Die Funktion wird in Funktionen verwendet, die Werte stillschweigend zurückgeben, etwa bei Zuweisungsoperatoren.

# Explicit print shows the value
f <- function(x) invisible(x * 2)
result <- f(5)
# Nothing printed automatically
f(5)
# But print() forces it
print(f(5))

message() — Nach stderr

message() schreibt nach stderr statt nach stdout. Die Funktion fügt automatisch einen Zeilenumbruch an. Anders als cat() oder print() können Meldungen mit suppressMessages() unterdrückt und mit tryCatch() abgefangen werden.

message('This goes to stderr')
cat('This goes to stdout\n')
# Suppress messages:
suppressMessages(message('hidden'))
cat('Still visible\n')

Wann Sie cat() statt print() verwenden sollten

Verwenden Sie cat(), wenn Sie menschenlesbaren Text ausgeben möchten – etwa Protokollzeilen, Fortschrittsmeldungen oder formatierte Berichte. Verwenden Sie print(), wenn Sie R-Objekte originalgetreu untersuchen und dabei deren Typinformationen und Struktur erhalten möchten.

# cat() for formatted output
cat(sprintf('Processing %d records...\n', 500))
cat('Done.\n')

# print() to inspect objects
result <- list(n = 500, mean = 4.2, sd = 1.1)
print(result)

print() für Data Frames

print.data.frame formatiert Data Frames mit Zeilennummern, Spaltenüberschriften und ausgerichteten Werten. Sie können die Anzahl der angezeigten Zeilen mit der Schreibweise print(df, n = k) steuern oder vor der Ausgabe head() verwenden.

df <- data.frame(
  name  = c('Alice', 'Bob', 'Carol'),
  score = c(88, 95, 72)
)
print(df)

cat() für den Schleifenfortschritt

Eine praktische Verwendung von cat() ist die Ausgabe des Schleifenfortschritts. Da cat() keine automatischen Zeilenumbrüche einfügt, können Sie eine Zeile schrittweise aufbauen und anschließend mit '\n' abschließen.

for (i in 1:5) {
  cat(sprintf('Processing file %d of 5...\n', i))
}
cat('All files processed.\n')

Schnelltest

Welche Ausgabefunktion schreibt nach stderr, fügt automatisch einen Zeilenumbruch an und kann mit suppressMessages() unterdrückt werden?

Ausgabefunktionen: Die wichtigsten Punkte

Die wichtigsten Punkte zu R-Ausgabefunktionen:

  • print(x) — R-Objekte untersuchen; verwendet klassenspezifische Formatierung; fügt [1] und Anführungszeichen hinzu
  • cat(...) — unformatierte Textausgabe; keine Anführungszeichen; kein automatischer Zeilenumbruch; verwenden Sie explizit '\n'
  • cat() akzeptiert sep und fill zur Steuerung der Formatierung
  • invisible(x) — x zurückgeben, ohne es automatisch auszugeben
  • message() — schreibt nach stderr; automatischer Zeilenumbruch; wird durch suppressMessages() unterdrückt
  • Verwenden Sie cat() und sprintf() gemeinsam für formatierte Berichte und Protokolle
x <- 'result'
print(x)              # shows: [1] "result"
cat(x, '\n')          # shows: result
message('info: ', x)  # goes to stderr
f <- function() invisible(42)
f()                   # nothing printed
print(f())            # forces print: [1] 42

Häufig gestellte Fragen

Ist die Lektion „Ausgabe mit cat() und print() anzeigen“ kostenlos?

Ja — der vollständige Text von „Ausgabe mit cat() und print() anzeigen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des R Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der R Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Ausgabe mit cat() und print() anzeigen“?

Unterscheiden Sie zwischen cat() für die Konsolenausgabe und print() für Objekte. Du übst R Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um R Academy zu starten?

Keine Vorkenntnisse erforderlich. R Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Ausgabe mit cat() und print() anzeigen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser R Academy-Lektion Code schreiben und ausführen?

Ja. Jede R Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Strings mit paste() und paste0() erstellen
  2. Formatierte Ausgabe mit sprintf()
  3. Ausgabe mit cat() und print() anzeigen
  4. Strings auffüllen und ausrichten
← Zurück zu R Academy