6.3. 🚀 Übung: Auswerten von CSV-Dateien in R#

In der vorangegangenen Übung wurden Sie mit Ansätzen zur Organisation und Strukturierung von CSV-Dateien vertraut gemacht. Der folgende Abschnitt baut auf dem Code der letzten Übung auf und thematisiert Auswertungsmöglichkeiten von CSV-Dateien in R mit Fokus auf Untergruppierungen und Filterfunktionen.

6.3.1. Variablenklassen bestimmen#

Damit Sie Ihre Daten adäquat auswerten können, müssen Sie sich über die Struktur und Klasse der Variablen bewusst sein.

Die wichtigsten Variablenklassen im Überblick:

  • integer: Ganze Zahlen.
    Beispiel: 1, 2, 5.

  • numeric: Zahl mit Kommastellen.
    Beispiel: 1.99, 2.33, 5.00.

  • character: Zeichenketten bzw. Strings.
    Beispiel: “Hallo”, “Apfel”, “Hannah”.

  • factor: Kategoriale Variablen.
    Beispiel: “schlecht”, “gut”, “sehr gut”

Die Variablenklasse ist ausschlaggebend dafür, wie Sie die Variablendaten auswerten können. Beispielsweise können Sie mit einer numeric-Variable rechnen, mit einer character-Variable jedoch nicht.

Variablenklassen bestimmen im Code:
Der Befehl class() gibt uns die jeweilige Klasse des Objektes wieder:

class(Tabellendaten$Angestelltenverhaeltnis) #sollte als character oder factor gelesen werden
'character'
class(Tabellendaten$Geschlecht) #sollte als character oder factor gelesen werden
'character'
class(Tabellendaten$Angestelltenzahl_2020) #sollte als numerisch oder integer gelesen werden
'character'

Die Variablenklassen für “Angestelltenverhaeltnis” und “Geschlecht” sind passend. Die Variable “Angestelltenzahl_2020” wird jedoch auch als character interpretiert. Dies muss manuell geändert werden, da sonst bestimmte Auswertungen nicht möglich sind und Fehler entstehen können.

Fallbeispiel: Betrachten Sie die Funktion max(), welche den Maximalwert in der jeweiligen Spalte zurückgeben soll. Hinweis: na.rm = TRUE muss hinzugefügt werden, damit die nicht vorhandenen Werte nicht berücksichtigt werden, ansonsten kommt es zu einem Error.

max(Tabellendaten$Angestelltenzahl_2020, na.rm = TRUE)
'99730'

Wenn Sie jedoch einen Blick in die Tabelle werfen, sehen Sie schnell, dass es mehrere Angestelltenzahlen über 100.000 gibt. Die ausgegebene Zahl kann also nicht stimmen!

Wie kann es zu solch einem Fehler kommen?
Da die Variable “Angestelltenzahl_2020” als character interpretiert wird, ändert sich auch die Bedeutung der Funktion max(). Die Funkion max() gibt nun nicht mehr den Maximalwert zurück, sondern den niedrigsten Platz in alphabetischer Sortierung. Nur wenn wenn die Werte in der Tabelle auch als Zahlen (also numerisch/integer) von R gelesen werden, gibt die Funktion max() den Maximalwert der Spalte zurück.

6.3.2. Variablenklasse ändern#

Hierfür überspeichern Sie die Daten der jeweiligen Spalte mit den exakt selben Daten, nur das Sie durch den Befehl as.integer die Klasse der Variable ändern. Wenn Sie die Klasse in numerisch ändern wollen, würden Sie as.numeric verwenden.

Tabellendaten$Angestelltenzahl_2020 <- as.integer(Tabellendaten$Angestelltenzahl_2020)
Warning message:
“NAs introduced by coercion”

Überprüfen Sie gegebenenfalls erneut die Klasse:

class(Tabellendaten$Angestelltenzahl_2020)
'integer'

Wenn Sie nun noch einmal die Beispielfunktion max() heranziehen, dann bekommen Sie jetzt durch neuer Klassenzugehörigkeit der Variable den Maximalwert angezeigt:

max(Tabellendaten$Angestelltenzahl_2020, na.rm = TRUE)
759065

Wichtig!

Überprüfen Sie immer die Art der Variablenklasse, welche R Ihren Daten zuweist und ändern Sie dies gegebenenfalls, um Fehler zu vermeiden.

6.3.3. Variablen hinzufügen#

Eine gute Kategorisierung Ihrer Daten ist notwendig, um effizient zu filtern. Hierzu müssen Sie die Struktur der Daten nachvollziehen können.
Um die einzelnen Ausprägung der Variable “Angestelltenverhaeltnis” zu sichten, bietet Ihnen R den Befehl unique():

unique(Tabellendaten$Angestelltenverhaeltnis)
  1. 'Wissenschaftliches und kuenstlerisches Personal'
  2. ' Hauptberufl. wissenschaftl. u. kuenstler. Personal'
  3. ' Professoren'
  4. ' Dozenten und Assistenten'
  5. ' Wissenschaftliche und kuenstlerische Mitarbeiter'
  6. ' Lehrkraefte fuer besondere Aufgaben'
  7. ' Nebenberufl. wissenschaftl. u. kuenstler. Personal'
  8. ' Gastprofessoren, Emeriti'
  9. ' Lehrbeauftragte'
  10. ' Wissenschaftliche Hilfskraefte'
  11. 'Verwaltungs-, technisches und sonstiges Personal'
  12. ' Hauptberufl. Verwaltungs-, techn. u.sonst.Personal'
  13. ' Verwaltungspersonal'
  14. ' Bibliothekspersonal'
  15. ' Technisches Personal'
  16. ' Sonstiges Personal'
  17. ' Pflegepersonal'
  18. ' Arbeiter'
  19. ' Auszubildende'
  20. ' Praktikanten'
  21. ' Sonstiges Personal fuer Lehre und Forschung'
  22. ' Leitungs- und Verwaltungspersonal'
  23. ' Nebenberufl. Verwaltungs-, techn. u.sonst.Personal'
  24. ' Sonstige Hilfskraefte'
  25. ' Zeitweilig Beschaeftigte'
  26. 'Insgesamt'

Wie Sie erkennen können, ist die Variable “Angestelltenverhaeltnis” recht unübersichtlich, da sie verschiedene Unterkategorien enthält. Bei Betrachtung der einzelnen Positionen ist jedoch nicht erkennbar, zu welcher Überkategorie die Position gehört.

Bei genauerer Betrachtung der Tabelle fällt auf, dass es drei Ebenen gibt:

  1. Ebene: “Wissenschaftliches und kuenstlerisches Personal” und “Verwaltungs-, technisches und sonstiges Personal”

  2. Ebene: “Hauptberuflich” und “Nebenberuflich”

  3. Ebene: Die einzelnen Positionen der Berufsbezeichnungen z.B. “Professoren”, “Dozenten und Assistenten”, etc.

Für eine übersichtlichere Struktur in der Tabelle kann für die ersten zwei Ebenen jeweils eine neue Variable erstellt werden. Hierdurch werden zwei neue Spalten zur Tabelle hinzugefügt und Sie können dann bei Betrachtung einer einzelnen Zeile alle wichtigen Informationen herauslesen, was derzeit nicht möglich ist.

Neue Variablen erstellen:
Da die Struktur es nicht erlaubt, die neuen Variablen durch Referenz auf die bereits vorhandenen Variablen zu erzeugen, müssen die neuen Variablen manuell strukturiert werden.

Erzeugen Sie hierfür zunächst neue Variablen und setzen Sie den Inhalt erst mal auf unbekannt (NA).

#1.Ebene: Neue Variable "Personalkategorie"
Tabellendaten$Personalkategorie <- c(NA)
#2.Ebene: Neue Variable "Art der Anstellung"
Tabellendaten$Art_der_Anstellung <- c(NA)

Der Spalteninhalt muss nun manuell eingetragen werden.
Achtung: Diese Weise ist leider recht fehleranfällig, ist jedoch durch den Aufbau der Datei, ohne komplexere Funktionen zu benutzen, nicht anders möglich.

Wichtig!

Wenn Sie Daten generieren, strukturieren Sie diese immer gut. Dies erleichtert Ihnen selbst, aber auch allen anderen, die Ihre Daten verwenden, das Arbeiten! Eine gute Struktur von Daten liefert der Tidy-Data Ansatz (s. Abschnitt Datenstruktur).

Einpflegen des Variableninhalts

#1.Ebene
Tabellendaten$Personalkategorie[76:78] <- "Insgesamt"
Tabellendaten$Personalkategorie[1:30] <- "Wissenschaftliches und künstlerisches Personal"
Tabellendaten$Personalkategorie[31:75] <- "Verwaltungs-, technisches und sonstiges Personal"
#2.Ebene
Tabellendaten$Art_der_Anstellung[c(1:3, 31:33, 76:78)] <- "Insgesamt"
Tabellendaten$Art_der_Anstellung[c(4:18,34:66)] <- "Hauptberuflich"
Tabellendaten$Art_der_Anstellung[c(19:30,67:75)] <- "Nebenberuflich"

Ergebnis ansehen:

head(Tabellendaten, n=78)
A data.frame: 78 × 5
AngestelltenverhaeltnisGeschlechtAngestelltenzahl_2020PersonalkategorieArt_der_Anstellung
<chr><chr><int><chr><chr>
1Wissenschaftliches und kuenstlerisches Personal maennlich247720Wissenschaftliches und künstlerisches PersonalInsgesamt
2Wissenschaftliches und kuenstlerisches Personal weiblich 167112Wissenschaftliches und künstlerisches PersonalInsgesamt
3Wissenschaftliches und kuenstlerisches Personal Insgesamt414832Wissenschaftliches und künstlerisches PersonalInsgesamt
4 Hauptberufl. wissenschaftl. u. kuenstler. Personalmaennlich159567Wissenschaftliches und künstlerisches PersonalHauptberuflich
5 Hauptberufl. wissenschaftl. u. kuenstler. Personalweiblich 109708Wissenschaftliches und künstlerisches PersonalHauptberuflich
6 Hauptberufl. wissenschaftl. u. kuenstler. PersonalInsgesamt269275Wissenschaftliches und künstlerisches PersonalHauptberuflich
7 Professoren maennlich 36344Wissenschaftliches und künstlerisches PersonalHauptberuflich
8 Professoren weiblich 12949Wissenschaftliches und künstlerisches PersonalHauptberuflich
9 Professoren Insgesamt 49293Wissenschaftliches und künstlerisches PersonalHauptberuflich
10 Dozenten und Assistenten maennlich 2182Wissenschaftliches und künstlerisches PersonalHauptberuflich
11 Dozenten und Assistenten weiblich 1546Wissenschaftliches und künstlerisches PersonalHauptberuflich
12 Dozenten und Assistenten Insgesamt 3728Wissenschaftliches und künstlerisches PersonalHauptberuflich
13 Wissenschaftliche und kuenstlerische Mitarbeitermaennlich116004Wissenschaftliches und künstlerisches PersonalHauptberuflich
14 Wissenschaftliche und kuenstlerische Mitarbeiterweiblich 89383Wissenschaftliches und künstlerisches PersonalHauptberuflich
15 Wissenschaftliche und kuenstlerische MitarbeiterInsgesamt205387Wissenschaftliches und künstlerisches PersonalHauptberuflich
16 Lehrkraefte fuer besondere Aufgaben maennlich 5037Wissenschaftliches und künstlerisches PersonalHauptberuflich
17 Lehrkraefte fuer besondere Aufgaben weiblich 5830Wissenschaftliches und künstlerisches PersonalHauptberuflich
18 Lehrkraefte fuer besondere Aufgaben Insgesamt 10867Wissenschaftliches und künstlerisches PersonalHauptberuflich
19 Nebenberufl. wissenschaftl. u. kuenstler. Personalmaennlich 88153Wissenschaftliches und künstlerisches PersonalNebenberuflich
20 Nebenberufl. wissenschaftl. u. kuenstler. Personalweiblich 57404Wissenschaftliches und künstlerisches PersonalNebenberuflich
21 Nebenberufl. wissenschaftl. u. kuenstler. PersonalInsgesamt145557Wissenschaftliches und künstlerisches PersonalNebenberuflich
22 Gastprofessoren, Emeriti maennlich 1534Wissenschaftliches und künstlerisches PersonalNebenberuflich
23 Gastprofessoren, Emeriti weiblich 259Wissenschaftliches und künstlerisches PersonalNebenberuflich
24 Gastprofessoren, Emeriti Insgesamt 1793Wissenschaftliches und künstlerisches PersonalNebenberuflich
25 Lehrbeauftragte maennlich 64492Wissenschaftliches und künstlerisches PersonalNebenberuflich
26 Lehrbeauftragte weiblich 35238Wissenschaftliches und künstlerisches PersonalNebenberuflich
27 Lehrbeauftragte Insgesamt 99730Wissenschaftliches und künstlerisches PersonalNebenberuflich
28 Wissenschaftliche Hilfskraefte maennlich 22127Wissenschaftliches und künstlerisches PersonalNebenberuflich
29 Wissenschaftliche Hilfskraefte weiblich 21907Wissenschaftliches und künstlerisches PersonalNebenberuflich
30 Wissenschaftliche Hilfskraefte Insgesamt 44034Wissenschaftliches und künstlerisches PersonalNebenberuflich
49 Pflegepersonal maennlich 15427Verwaltungs-, technisches und sonstiges PersonalHauptberuflich
50 Pflegepersonal weiblich 63731Verwaltungs-, technisches und sonstiges PersonalHauptberuflich
51 Pflegepersonal Insgesamt 79158Verwaltungs-, technisches und sonstiges PersonalHauptberuflich
52 Arbeiter maennlich NAVerwaltungs-, technisches und sonstiges PersonalHauptberuflich
53 Arbeiter weiblich NAVerwaltungs-, technisches und sonstiges PersonalHauptberuflich
54 Arbeiter Insgesamt NAVerwaltungs-, technisches und sonstiges PersonalHauptberuflich
55 Auszubildende maennlich 6284Verwaltungs-, technisches und sonstiges PersonalHauptberuflich
56 Auszubildende weiblich 16137Verwaltungs-, technisches und sonstiges PersonalHauptberuflich
57 Auszubildende Insgesamt 22421Verwaltungs-, technisches und sonstiges PersonalHauptberuflich
58 Praktikanten maennlich 705Verwaltungs-, technisches und sonstiges PersonalHauptberuflich
59 Praktikanten weiblich 1356Verwaltungs-, technisches und sonstiges PersonalHauptberuflich
60 Praktikanten Insgesamt 2061Verwaltungs-, technisches und sonstiges PersonalHauptberuflich
61 Sonstiges Personal fuer Lehre und Forschung maennlich NAVerwaltungs-, technisches und sonstiges PersonalHauptberuflich
62 Sonstiges Personal fuer Lehre und Forschung weiblich NAVerwaltungs-, technisches und sonstiges PersonalHauptberuflich
63 Sonstiges Personal fuer Lehre und Forschung Insgesamt NAVerwaltungs-, technisches und sonstiges PersonalHauptberuflich
64 Leitungs- und Verwaltungspersonal maennlich NAVerwaltungs-, technisches und sonstiges PersonalHauptberuflich
65 Leitungs- und Verwaltungspersonal weiblich NAVerwaltungs-, technisches und sonstiges PersonalHauptberuflich
66 Leitungs- und Verwaltungspersonal Insgesamt NAVerwaltungs-, technisches und sonstiges PersonalHauptberuflich
67 Nebenberufl. Verwaltungs-, techn. u.sonst.Personalmaennlich 2073Verwaltungs-, technisches und sonstiges PersonalNebenberuflich
68 Nebenberufl. Verwaltungs-, techn. u.sonst.Personalweiblich 3494Verwaltungs-, technisches und sonstiges PersonalNebenberuflich
69 Nebenberufl. Verwaltungs-, techn. u.sonst.PersonalInsgesamt 5567Verwaltungs-, technisches und sonstiges PersonalNebenberuflich
70 Sonstige Hilfskraefte maennlich 2073Verwaltungs-, technisches und sonstiges PersonalNebenberuflich
71 Sonstige Hilfskraefte weiblich 3494Verwaltungs-, technisches und sonstiges PersonalNebenberuflich
72 Sonstige Hilfskraefte Insgesamt 5567Verwaltungs-, technisches und sonstiges PersonalNebenberuflich
73 Zeitweilig Beschaeftigte maennlich NAVerwaltungs-, technisches und sonstiges PersonalNebenberuflich
74 Zeitweilig Beschaeftigte weiblich NAVerwaltungs-, technisches und sonstiges PersonalNebenberuflich
75 Zeitweilig Beschaeftigte Insgesamt NAVerwaltungs-, technisches und sonstiges PersonalNebenberuflich
76Insgesamt maennlich348040Insgesamt Insgesamt
77Insgesamt weiblich 411025Insgesamt Insgesamt
78Insgesamt Insgesamt759065Insgesamt Insgesamt

6.3.4. Unterkategorisieren#

Eine Unterkategorisierung (auch Sub-Sampling gennant) bietet sich auch insbesondere für die Variable “Geschlecht” an.

unique(Tabellendaten$Geschlecht)
  1. 'maennlich'
  2. 'weiblich'
  3. 'Insgesamt'

Durch das Aufführen der Variablenausprägung "Insgesamt" wird die Tabelle recht unübersichtlich. Es empfiehlt sich das sub-samplen der Tabelle nach den verschiedenen Geschlechtsausprägungen:

#Geschlecht
Tabelle_maennlich <- subset(Tabellendaten, Geschlecht == "maennlich")
Tabelle_weiblich <- subset(Tabellendaten, Geschlecht == "weiblich")
Tabelle_Insgesamt <- subset(Tabellendaten, Geschlecht == "Insgesamt")
#Ergbnis ansehen 
head(Tabelle_Insgesamt)
A data.frame: 6 × 5
AngestelltenverhaeltnisGeschlechtAngestelltenzahl_2020PersonalkategorieArt_der_Anstellung
<chr><chr><int><chr><chr>
3Wissenschaftliches und kuenstlerisches Personal Insgesamt414832Wissenschaftliches und künstlerisches PersonalInsgesamt
6 Hauptberufl. wissenschaftl. u. kuenstler. PersonalInsgesamt269275Wissenschaftliches und künstlerisches PersonalHauptberuflich
9 Professoren Insgesamt 49293Wissenschaftliches und künstlerisches PersonalHauptberuflich
12 Dozenten und Assistenten Insgesamt 3728Wissenschaftliches und künstlerisches PersonalHauptberuflich
15 Wissenschaftliche und kuenstlerische MitarbeiterInsgesamt205387Wissenschaftliches und künstlerisches PersonalHauptberuflich
18 Lehrkraefte fuer besondere Aufgaben Insgesamt 10867Wissenschaftliches und künstlerisches PersonalHauptberuflich

Wenn Sie nun z.B. aus der Tabelle_Insgesamt die zweite Spalte entfernen möchten, da diese redundant ist, können Sie die Spalte aus dem Subsample entfernen:

Tabelle_Insgesamt <- subset(Tabelle_Insgesamt, select= c(-Geschlecht))
head(Tabelle_Insgesamt)
A data.frame: 6 × 4
AngestelltenverhaeltnisAngestelltenzahl_2020PersonalkategorieArt_der_Anstellung
<chr><int><chr><chr>
3Wissenschaftliches und kuenstlerisches Personal 414832Wissenschaftliches und künstlerisches PersonalInsgesamt
6 Hauptberufl. wissenschaftl. u. kuenstler. Personal269275Wissenschaftliches und künstlerisches PersonalHauptberuflich
9 Professoren 49293Wissenschaftliches und künstlerisches PersonalHauptberuflich
12 Dozenten und Assistenten 3728Wissenschaftliches und künstlerisches PersonalHauptberuflich
15 Wissenschaftliche und kuenstlerische Mitarbeiter205387Wissenschaftliches und künstlerisches PersonalHauptberuflich
18 Lehrkraefte fuer besondere Aufgaben 10867Wissenschaftliches und künstlerisches PersonalHauptberuflich

6.3.5. Tabellendaten filtern#

Alternativ zum subset-Befehl kann mit dem Befehl filter gearbeitet werden.
Damit können Sie Ihre Tabelle filtern und sich gezielt Inhalte anzeigen lassen.

Hierzu können Sie verschiedene Operatoren und Funktionen nutzen:

Mathematische Operatoren:

  • == (Ist gleich)

  • != (Ist nicht gleich)

  • < (Kleiner als)

  • <= (Kleiner-Gleich)

  • > (Größer als)

  • >= (Größer-Gleich)

Beispiel:

filter(Tabelle_Insgesamt, Tabelle_Insgesamt$Angestelltenzahl_2020 <= 5000)
A data.frame: 3 × 4
AngestelltenverhaeltnisAngestelltenzahl_2020PersonalkategorieArt_der_Anstellung
<chr><int><chr><chr>
Dozenten und Assistenten3728Wissenschaftliches und künstlerisches Personal Hauptberuflich
Gastprofessoren, Emeriti1793Wissenschaftliches und künstlerisches Personal Nebenberuflich
Praktikanten 2061Verwaltungs-, technisches und sonstiges PersonalHauptberuflich

Logische Operatoren:

  • ! (logisches NICHT)

  • & (logisches UND)

  • | (logisches ODER)

Beispiel:

filter(Tabellendaten, Tabellendaten$Personalkategorie == "Wissenschaftliches und künstlerisches Personal" & Tabellendaten$Geschlecht == "weiblich" )
A data.frame: 10 × 5
AngestelltenverhaeltnisGeschlechtAngestelltenzahl_2020PersonalkategorieArt_der_Anstellung
<chr><chr><int><chr><chr>
Wissenschaftliches und kuenstlerisches Personal weiblich167112Wissenschaftliches und künstlerisches PersonalInsgesamt
Hauptberufl. wissenschaftl. u. kuenstler. Personalweiblich109708Wissenschaftliches und künstlerisches PersonalHauptberuflich
Professoren weiblich 12949Wissenschaftliches und künstlerisches PersonalHauptberuflich
Dozenten und Assistenten weiblich 1546Wissenschaftliches und künstlerisches PersonalHauptberuflich
Wissenschaftliche und kuenstlerische Mitarbeiterweiblich 89383Wissenschaftliches und künstlerisches PersonalHauptberuflich
Lehrkraefte fuer besondere Aufgaben weiblich 5830Wissenschaftliches und künstlerisches PersonalHauptberuflich
Nebenberufl. wissenschaftl. u. kuenstler. Personalweiblich 57404Wissenschaftliches und künstlerisches PersonalNebenberuflich
Gastprofessoren, Emeriti weiblich 259Wissenschaftliches und künstlerisches PersonalNebenberuflich
Lehrbeauftragte weiblich 35238Wissenschaftliches und künstlerisches PersonalNebenberuflich
Wissenschaftliche Hilfskraefte weiblich 21907Wissenschaftliches und künstlerisches PersonalNebenberuflich

Verwenden von Funktionen:

Beispiel: Ausgabe des kleinsten Wertes mittels der min()-Funktion

filter(Tabellendaten, Tabellendaten$Angestelltenzahl_2020 == min(Tabellendaten$Angestelltenzahl_2020, na.rm = TRUE))
A data.frame: 1 × 5
AngestelltenverhaeltnisGeschlechtAngestelltenzahl_2020PersonalkategorieArt_der_Anstellung
<chr><chr><int><chr><chr>
Gastprofessoren, Emeritiweiblich259Wissenschaftliches und künstlerisches PersonalNebenberuflich

Mögliche Probleme?

Wenn mit der Variable Angestelltenverhaeltnis gefiltert werden soll, gibt R folgenden Output:

#Beispiel: Filtern nach "Professoren"
filter(Tabellendaten, Tabellendaten$Angestelltenverhaeltnis == "Professoren")
A data.frame: 0 × 5
AngestelltenverhaeltnisGeschlechtAngestelltenzahl_2020PersonalkategorieArt_der_Anstellung
<chr><chr><int><chr><chr>

Wenn Sie jedoch in den Datensatz schauen, sehen Sie, dass Professoren unter Angestelltenverhaeltnis mit aufgelistet werden.

Warum werden “Professoren” nicht gefunden?

Das Problem besteht darin, dass die Ausgangsdatei Leerzeichen vor dem Wort Professoren (und auch vor anderen Bezeichnungen von Angestelltenverhältnissen) enthält.

Mit dem Befehl trimws() können Sie die vorgestellten Leerzeichen vor den Bezeichnungen entfernen:

Tabellendaten$Angestelltenverhaeltnis <- trimws(Tabellendaten$Angestelltenverhaeltnis)

Führen Sie nun erneut die Filtersuche durch und Sie erhalten das korrekte Ergebnis:

filter(Tabellendaten, Tabellendaten$Angestelltenverhaeltnis == "Professoren")
A data.frame: 3 × 5
AngestelltenverhaeltnisGeschlechtAngestelltenzahl_2020PersonalkategorieArt_der_Anstellung
<chr><chr><int><chr><chr>
Professorenmaennlich36344Wissenschaftliches und künstlerisches PersonalHauptberuflich
Professorenweiblich 12949Wissenschaftliches und künstlerisches PersonalHauptberuflich
ProfessorenInsgesamt49293Wissenschaftliches und künstlerisches PersonalHauptberuflich

6.3.6. Sortieren von Tabellendaten#

Sie können Tabellen mittels des order()-Befehls nach belieben sortieren.

Beispiel:

Tabelle_Insgesamt_Sortiert <- Tabelle_Insgesamt[order(Tabelle_Insgesamt$Angestelltenzahl_2020, decreasing = TRUE),]
head(Tabelle_Insgesamt_Sortiert)
A data.frame: 6 × 4
AngestelltenverhaeltnisAngestelltenzahl_2020PersonalkategorieArt_der_Anstellung
<chr><int><chr><chr>
78Insgesamt 759065Insgesamt Insgesamt
3Wissenschaftliches und kuenstlerisches Personal 414832Wissenschaftliches und künstlerisches Personal Insgesamt
33Verwaltungs-, technisches und sonstiges Personal 344233Verwaltungs-, technisches und sonstiges PersonalInsgesamt
36 Hauptberufl. Verwaltungs-, techn. u.sonst.Personal338666Verwaltungs-, technisches und sonstiges PersonalHauptberuflich
6 Hauptberufl. wissenschaftl. u. kuenstler. Personal269275Wissenschaftliches und künstlerisches Personal Hauptberuflich
15 Wissenschaftliche und kuenstlerische Mitarbeiter205387Wissenschaftliches und künstlerisches Personal Hauptberuflich