Hands-on Data Science
Mein Lernen EN

Lektion10 Min.

Zahlen, Texte und Wahrheitswerte

Jeder Vektor hat einen Typ: Zahl, Text oder Wahrheitswert. Woran man ihn erkennt, warum ein Vektor nur einen Typ haben kann und wie man umwandelt.

Themen:Programmieren mit R

Vorher ansehen: Vektoren

Was du lernst

In dieser Lektion lernst du die drei grundlegenden Datentypen von R kennen und kannst danach:

  • Zahlen (numeric), Texte (character) und Wahrheitswerte (logical) unterscheiden und den Typ mit class() erfragen
  • erklären, warum ein Vektor nur einen Typ haben kann und R gemischte Werte stillschweigend umwandelt
  • begründen, warum Wahrheitswerte zu Zahlen und Zahlen zu Text werden, nie umgekehrt
  • Texte mit as.numeric() in Zahlen umwandeln und vorhersagen, wo dabei NA entsteht
  • die Fehlermeldung beim Rechnen mit Text erkennen und ihrer Ursache mit class() nachgehen

R unterscheidet, welche Art von Wert in einem Vektor steht, denn davon hängt ab, wofür man ihn verwenden kann. Mit Zahlen kann man rechnen, mit Texten nicht. Für den Anfang genügen drei Typen.

Typ Beispiel Wofür
numeric 1.09, 47 Messwerte, Preise, Anzahlen
character "vegan" Text, etwa Kategorien und Namen
logical TRUE, FALSE Ja oder nein, das Ergebnis eines Vergleichs

Texte stehen immer in Anführungszeichen. TRUE und FALSE stehen ohne, denn sie sind keine Texte, sondern Wahrheitswerte.

Den Typ erfragen

class() verrät, welchen Typ ein Wert hat:

diet <- c("vegan", "omnivore", "vegetarian")
class(diet)

Ganze Zahlen, die R selbst erzeugt, etwa mit 1:10, haben den Typ integer. Für dich verhalten sie sich wie jede andere Zahl.

Ein Vektor, ein Typ

Ein Vektor kann nur einen Typ haben. Mischst du Zahlen und Texte, macht R stillschweigend aus allem Text, denn eine Zahl lässt sich immer als Text schreiben, aber nicht jeder Text als Zahl:

answers <- c(3, 5, "keine Angabe", 2)
answers

Die Anführungszeichen in der Ausgabe zeigen es: Aus den Zahlen sind Texte geworden, mit denen sich nicht mehr rechnen lässt. Genau das passiert oft beim Einlesen von Daten, wenn in einer Zahlenspalte ein einziges Wort steht.

Mit Zahlen und Wahrheitswerten geht R genauso vor:

values <- c(5.4, TRUE, FALSE)
values

Aus TRUE ist 1 geworden und aus FALSE 0. R sucht immer den kleinsten gemeinsamen Nenner, also den Typ, in den sich alle Werte umwandeln lassen. Einen Wahrheitswert kann man als 0 oder 1 lesen, aber was sollte 5.4 als Wahrheitswert sein? Deshalb gilt eine feste Reihenfolge: Aus Wahrheitswerten werden Zahlen und aus Zahlen Texte, nie umgekehrt.

Umwandeln

Mit as.numeric() machst du aus Texten wieder Zahlen. Was sich nicht als Zahl lesen lässt, wird zu NA, einem fehlenden Wert, und R warnt dich davor:

as.numeric(c("3", "5", "keine Angabe", "2"))

Ebenso gibt es as.character(). Umgekehrt zählt R TRUE als 1 und FALSE als 0, wenn du mit Wahrheitswerten rechnest; das hast du beim Zählen mit Vergleichen schon genutzt.

Wenn R mit Text rechnen soll

Versuchst du, mit einem Text zu rechnen, bricht R ab und sagt, dass ein Argument nicht numerisch ist:

"3" + 4

Wenn dir diese Meldung begegnet, prüfe mit class(), welchen Typ deine Werte wirklich haben.

Zum Mitnehmen

  • Drei Typen für den Anfang: Zahlen (numeric), Texte (character) und Wahrheitswerte (logical); class() verrät den Typ.
  • Ein Vektor hat nur einen Typ; gemischte Werte werden zu Text.
  • as.numeric() wandelt um und macht aus Unlesbarem NA.
Zurück
Details
Niveau
Einstieg
Module
Empirisches Arbeiten
In Lernpfaden
Einstieg in R
Code
7019
Stand
1. November 2026
Status
veröffentlicht

    Ein vierstelliger Code führt direkt zum Inhalt.