<jupyter_start><jupyter_text>Tag 1. Kapitel 3. Data Frame Lab3. R Data Frames Übung - LösungIn dieser Übnung überprüfen wir dein Wissen zu den Data Frames! Folge den Anweisungen und löse die Aufgaben. **Erstelle den folgenden Data Frame durch die Nutzung von Vektoren und der data.frame Funktion:**<jupyter_code>Name <- c("Sam","Frank","Anne")
Alter <- c(25,22,26)
Gewicht <- c(85,76,62)
Geschlecht <- c("M", "M", "F")
df <- data.frame (row.names = Name, Alter, Gewicht, Geschlecht)
df<jupyter_output><empty_output><jupyter_text>**Überprüfe ob mtcars ein Data Frame ist, indem du is.data.frame() nutzt**<jupyter_code>is.data.frame(mtcars)<jupyter_output><empty_output><jupyter_text>**Verwende as.data.frame(), um eine Matrix in einen Data Frame umzuwandeln: **<jupyter_code>mat <- matrix(1:25,nrow = 5)
as.data.frame(mat)<jupyter_output><empty_output><jupyter_text>** Setze eine Variable df gleich dem eingebauten Data Frame mtcars. Für den Rest der Übung werden wir diese Variable verwenden.**<jupyter_code>df <- mtcars<jupyter_output><empty_output><jupyter_text>**Zeige die ersten 6 Zeilen von df an**<jupyter_code>head(df)<jupyter_output><empty_output><jupyter_text>**Was ist der durchschnittliche mpg Wert (Verbrauch) aller Autos?**<jupyter_code>mean(mtcars$mpg)<jupyter_output><empty_output><jupyter_text>**Wähle die Zeilen, in denen die Autos 6 Zylinder (Spalte: cyl) haben**<jupyter_code>df[df$cyl==6,]<jupyter_output><empty_output><jupyter_text>**Wähle die Spalten am, gear, und carb**<jupyter_code>df[,c('am','gear','carb')]<jupyter_output><empty_output><jupyter_text>**Erstelle eine neue Spalte "performance", die durch hp/wt berechnet wird**<jupyter_code>df$performance <- df$hp/df$wt
head(df)<jupyter_output><empty_output><jupyter_text>**Die neue Performance Spalte wird Werte mit mehreren Dezimalstellen beinhalten. Finde heraus, wie du diese mit `round()` auf 2 Nachkommastellen reduzieren kannst**<jupyter_code>df$performance <- round(df$performance,2)
head(df)<jupyter_output><empty_output><jupyter_text>** Was ist der durchschnittliche mpg Wert für Autos mit mehr als 100 PS (en. hp) und einem wt-Wert über 2.5?**<jupyter_code>mean(subset(df,hp>100 & wt > 2.5)$mpg)
# Es gibt viele Wege zum Ziel
mean(df[df$hp>100 & df$wt > 2.5,]$mpg)<jupyter_output><empty_output><jupyter_text>**Wie ist der mpg (Verbrauch) des Hornet Sportabout? **<jupyter_code>df['Hornet Sportabout',]$mpg<jupyter_output><empty_output><jupyter_text>In/aus Zwischenablage (Clipboard) schreiben/lesenTODO-Liste:* Gebe den aktuellen df Data Frame aus* Speichere df Data Frame in der Zwischenablage (Clipboard) ab* In einer leeren Excel-Arbeitsmappe (Sheet) die Daten aus der Zwischenablage holen (Ctrl+V)* Passe einige Werte an und/oder füge neue Datensätze in Excel hinzu * Wähle neuen Datensatz in Excel aus und speichere es in der Zwischenablage (Ctrl+C)* Lese angepasste Daten aus der Zwischenablage in einen neuen Data Frame aus* Gebe neu geladene angepasste Daten aus*Tipp: du kannst Lektion 1.3.20.2 als Referenz benutzen***Fazit: mit schreiben/lesen in/aus Zwischenablage lässt sich Excel als bequemer Tool mit R-Umgebung kombinieren**<jupyter_code># aktueller df Data Frame
head(df)
# df Data Frame in der Zwischenablage (Clipboard) ab
write.table(x=mtcars,file = "clipboard",sep = "\t", row.names = FALSE)
# Daten aus der Zwischenablage (Clipboard) lesen
df2 <- read.table(file="clipboard",sep="\t", header=TRUE) # Tabulator (\t) als Trenner nutzen
# geladen Daten ausgeben
head(df2)<jupyter_output><empty_output><jupyter_text>In/aus CSV-Datei schreiben/lesenTODO-Liste:* Speichere df Data Frame in einer CSV-Datei ab* Lese gespeicherte CSV-Datei in einen neuen Data Frame zurück und gebe die erste geladene Datensätze aus<jupyter_code># Ausgabe zu CSV-Datei
write.csv(df, file='demo.csv', row.names = TRUE) 
# Aus "frischgechriebener" CSV-Datei lesen und Daten anzeigen
rd <- read.csv('demo.csv')
head(rd)<jupyter_output><empty_output><jupyter_text>In/aus Excel-Datei schreiben/lesenTODO-Liste:* Lade ggf. Excel-Paket und Bibliothek (library) * Speichere df Data Frame in einer Excel-Datei ab* Lese gespeicherte Excel-Datei in einen neuen Data Frame zurück und gebe die erste geladene Datensätze aus<jupyter_code># Ggf. Excel Schreiben-Pakete laden (wenn nichts bereits passiert)
install.packages("xlsx")
library(xlsx)
write.xlsx(df, 'demo_lab.xlsx', sheetName = 'data', col.names = TRUE, row.names = FALSE, append = FALSE)
# Ggf. Excel Lese-Pakete laden (wenn nichts bereits passiert)
install.packages("readxl")
library(readxl)
# Aus "frischgechriebener" Excel-Datei lesen und Daten anzeigen
d <- read_excel('demo_lab.xlsx', 'data')
head(d)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11723103300471496, 'fraction_numerical': 0.009858551221603087, 'mean_word_length': 7.032702237521515, 'pattern_counts': {'":': 0, '<': 73, '<?xml version=': 0, '>': 65, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '15', 'dir': 'jupyter-structured-clean-dedup', 'id': '312025', 'license': 'MIT', 'n_tokens_mistral': 1819, 'n_tokens_neox': 1771, 'n_words': 455, 'path': '1.3 R Data Frames/de-DE/1.3.21.2 R - Data Frame. Lab 3. Solutions.ipynb', 'repo_name': 'softfactories/r_train_2', 'size': '4666'}