diff --git a/DCProject.Rmd b/DCProject.Rmd index 7594cc4e0d66b11b83e7a4adfd57946621bf5b58..5cb178c70c10a0e7139f6358f8595e59e65821e2 100644 --- a/DCProject.Rmd +++ b/DCProject.Rmd @@ -121,12 +121,14 @@ Es können verschieden Datenvormate eingelesen werden z.B CSV, XLSX 1. Daten aus einer CSV-Datei einlesen + [Video Tutorial für CSV-Dateien](https://www.youtube.com/watch?v=Ia5Q1LlCCFc) + es gibt zwei Funktionen zum einelesen einer CSV-Datei - read.csv wird verwendet wenn Dezimalzahlen mit eine Punkt "." getrennt werden und Splaten durch ein Komma ",". - read.csv2 wird verwendet wenn Dezimalzahlen durch eine Komma "," getrennt werden und Spalten durch ein Semikolon ";". - In diesem Beispiel wird der dataframe daten.csv erstelt durch die datei mit dem Namen daten.csv zusätzlich werden dan Fehlende Werte na mit na="NA" + In diesem Beispiel wird der dataframe daten_csv erstelt durch die datei mit dem Namen daten.csv zusätzlich werden dan Fehlende Werte na mit na="NA" Wenn die Datei im Arbeitsverzeichnis ist @@ -161,6 +163,8 @@ Es können verschieden Datenvormate eingelesen werden z.B CSV, XLSX ``` 2. Daten für eine XLSX Datei einlesen + + [Video Tutorial für XLSX-Dateien](https://www.youtube.com/watch?v=46yqTMYW7U0) Hier wird an stelle von read.csv bzw read.csv2 read_exel verwendet @@ -185,6 +189,36 @@ Es können verschieden Datenvormate eingelesen werden z.B CSV, XLSX ### Wie können Inkosistenzen und Leerstellen behoben werden +[Fälle mit fehlende Werten in R löschen](https://www.youtube.com/watch?v=SXg-8DAB6gc) + +Durch die Funktion na.omit() können Zeilen entfernt werden in denen Fehlerhafte Werte stehen. + +Im Beisplie hier werden alle Zeilen mit na werten vom dataframe daten entfernt im dataframe gesaueberte_daten abgelegt + +``` +gesaueberte_daten <- na.omit(daten) +``` + +Um fehlende Werte direkt bei der Berechnung zu behandel kann na.rm benutzt werde wenn es auf TRUE gesetzt ist überspringt es NA werte. Volgente Funktionen können na.rm nutzen + +``` +colSums() + +rowSums() + +colMeans() + +rowMeans() +``` + +Beispiel für die Anwendung von na.rm + +```{r} +narmtest <- read.csv("narmtest.csv", na="NA") +narmtest +rowSums(narmtest, na.rm = TRUE,) +``` + ## Datenanalyse *Information: Die hier dargestellten Tabellen beinhalten zur Veranschaulichung jeweils nur die ersten 10 Zeilen. Unser Datensatz besteht aus 24 Zeilen.* diff --git a/DCProject.html b/DCProject.html index c1d29ac1222e53c7f8901578d6326f4f69e44ccb..e8884d2538680c1ce303330ff5478f996eb2a5ed 100644 --- a/DCProject.html +++ b/DCProject.html @@ -596,6 +596,8 @@ class="section level3"> XLSX</p> <ol style="list-style-type: decimal"> <li><p>Daten aus einer CSV-Datei einlesen</p> +<p><a href="https://www.youtube.com/watch?v=Ia5Q1LlCCFc">Video Tutorial +für CSV-Dateien</a></p> <p>es gibt zwei Funktionen zum einelesen einer CSV-Datei</p> <ul> <li>read.csv wird verwendet wenn Dezimalzahlen mit eine Punkt “.†@@ -603,7 +605,7 @@ getrennt werden und Splaten durch ein Komma “,â€.</li> <li>read.csv2 wird verwendet wenn Dezimalzahlen durch eine Komma “,†getrennt werden und Spalten durch ein Semikolon “;â€.</li> </ul> -<p>In diesem Beispiel wird der dataframe daten.csv erstelt durch die +<p>In diesem Beispiel wird der dataframe daten_csv erstelt durch die datei mit dem Namen daten.csv zusätzlich werden dan Fehlende Werte na mit na=“NAâ€</p> <p>Wenn die Datei im Arbeitsverzeichnis ist</p> @@ -626,6 +628,8 @@ dec="," Dadurch wird das Trennzeichen für Dezimalzahlen festgelegt zu sep=";" Dadurch wird das Trennzeichen das die Werte in einer Zeile Seperiert festgelegt zum einlesen</code></pre></li> <li><p>Daten für eine XLSX Datei einlesen</p> +<p><a href="https://www.youtube.com/watch?v=46yqTMYW7U0">Video Tutorial +für XLSX-Dateien</a></p> <p>Hier wird an stelle von read.csv bzw read.csv2 read_exel verwendet</p> <p>davor muss aber mit</p> @@ -643,6 +647,35 @@ können</p> id="section-wie-können-inkosistenzen-und-leerstellen-behoben-werden" class="section level3"> <h3>Wie können Inkosistenzen und Leerstellen behoben werden</h3> +<p><a href="https://www.youtube.com/watch?v=SXg-8DAB6gc">Fälle mit +fehlende Werten in R löschen</a></p> +<p>Durch die Funktion na.omit() können Zeilen entfernt werden in denen +Fehlerhafte Werte stehen.</p> +<p>Im Beisplie hier werden alle Zeilen mit na werten vom dataframe daten +entfernt im dataframe gesaueberte_daten abgelegt</p> +<pre><code>gesaueberte_daten <- na.omit(daten)</code></pre> +<p>Um fehlende Werte direkt bei der Berechnung zu behandel kann na.rm +benutzt werde wenn es auf TRUE gesetzt ist überspringt es NA werte. +Volgente Funktionen können na.rm nutzen</p> +<pre><code>colSums() + +rowSums() + +colMeans() + +rowMeans()</code></pre> +<p>Beispiel für die Anwendung von na.rm</p> +<pre class="r"><code>narmtest <- read.csv("narmtest.csv", na="NA")</code></pre> +<pre><code>## Warning in read.table(file = file, header = header, sep = sep, quote = quote, : +## unvollständige letzte Zeile von readTableHeader in 'narmtest.csv' gefunden</code></pre> +<pre class="r"><code>narmtest</code></pre> +<div data-pagedtable="false"> +<script data-pagedtable-source type="application/json"> +{"columns":[{"label":["a"],"name":[1],"type":["int"],"align":["right"]},{"label":["b"],"name":[2],"type":["int"],"align":["right"]},{"label":["c"],"name":[3],"type":["int"],"align":["right"]}],"data":[{"1":"1","2":"NA","3":"3"},{"1":"1","2":"5","3":"9"},{"1":"NA","2":"6","3":"NA"}],"options":{"columns":{"min":{},"max":[10]},"rows":{"min":[10],"max":[10]},"pages":{}}} + </script> +</div> +<pre class="r"><code>rowSums(narmtest, na.rm = TRUE,)</code></pre> +<pre><code>## [1] 4 15 6</code></pre> </div> </div> <div id="section-datenanalyse" class="section level2"> @@ -1007,11 +1040,11 @@ Visualisierung:</p> <pre class="r"><code>plot(daten$Jahr, daten$Frauen_Anteil, xlab = "Jahr", ylab = "% Anteil Frauen", main = "Trend der Frauenanteile") abline(trend_f, col = "red")</code></pre> -<p><img src="DCProject_files/figure-html/unnamed-chunk-7-1.png" width="624" /></p> +<p><img src="DCProject_files/figure-html/unnamed-chunk-8-1.png" width="624" /></p> <pre class="r"><code>plot(daten$Jahr, daten$Männer_Anteil, xlab = "Jahr", ylab = "% Anteil Männer", main = "Trend der Männeranteile") abline(trend_m, col = "blue")</code></pre> -<p><img src="DCProject_files/figure-html/unnamed-chunk-8-1.png" width="624" /></p> +<p><img src="DCProject_files/figure-html/unnamed-chunk-9-1.png" width="624" /></p> <p>Wie man sieht ist es tatsächlich so, dass der Frauenanteil stetig gestiegen ist, im vergleich zum Männeranteil.</p> </div> @@ -1060,7 +1093,7 @@ session$onSessionEnded(function() { <!--/html_preserve--> <!--html_preserve--> <script type="application/shiny-prerendered" data-context="execution_dependencies"> -{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["packages"]}},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["packages","version"]},"class":{"type":"character","attributes":{},"value":["data.frame"]},"row.names":{"type":"integer","attributes":{},"value":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55]}},"value":[{"type":"character","attributes":{},"value":["backports","base","bslib","cachem","cellranger","checkmate","cli","compiler","datasets","digest","dplyr","ellipsis","evaluate","fansi","fastmap","fontawesome","generics","glue","graphics","grDevices","highr","htmltools","htmlwidgets","httpuv","jquerylib","jsonlite","knitr","later","learnr","lifecycle","magrittr","methods","mime","pillar","pkgconfig","promises","R6","Rcpp","readxl","rlang","rmarkdown","rprojroot","sass","shiny","stats","tibble","tidyselect","tools","utf8","utils","vctrs","withr","xfun","xtable","yaml"]},{"type":"character","attributes":{},"value":["1.4.1","4.2.3","0.5.0","1.0.8","1.1.0","2.2.0","3.6.1","4.2.3","4.2.3","0.6.31","1.1.2","0.3.2","0.20","1.0.4","1.1.1","0.5.1","0.1.3","1.6.2","4.2.3","4.2.3","0.10","0.5.5","1.6.2","1.6.11","0.1.4","1.8.4","1.43","1.3.1","0.11.4","1.0.3","2.0.3","4.2.3","0.12","1.9.0","2.0.3","1.2.0.1","2.5.1","1.0.10","1.4.2","1.1.0","2.22","2.0.3","0.4.6","1.7.4","4.2.3","3.2.1","1.2.0","4.2.3","1.2.3","4.2.3","0.6.1","2.5.0","0.39","1.8-4","2.3.7"]}]}]} +{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["packages"]}},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["packages","version"]},"class":{"type":"character","attributes":{},"value":["data.frame"]},"row.names":{"type":"integer","attributes":{},"value":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55]}},"value":[{"type":"character","attributes":{},"value":["backports","base","bslib","cachem","cellranger","checkmate","cli","compiler","datasets","digest","dplyr","ellipsis","evaluate","fansi","fastmap","fontawesome","generics","glue","graphics","grDevices","highr","htmltools","htmlwidgets","httpuv","jquerylib","jsonlite","knitr","later","learnr","lifecycle","magrittr","methods","mime","pillar","pkgconfig","promises","R6","Rcpp","readxl","rlang","rmarkdown","rprojroot","sass","shiny","stats","tibble","tidyselect","tools","utf8","utils","vctrs","withr","xfun","xtable","yaml"]},{"type":"character","attributes":{},"value":["1.4.1","4.3.1","0.5.0","1.0.8","1.1.0","2.2.0","3.6.1","4.3.1","4.3.1","0.6.32","1.1.2","0.3.2","0.21","1.0.4","1.1.1","0.5.1","0.1.3","1.6.2","4.3.1","4.3.1","0.10","0.5.5","1.6.2","1.6.11","0.1.4","1.8.5","1.43","1.3.1","0.11.4","1.0.3","2.0.3","4.3.1","0.12","1.9.0","2.0.3","1.2.0.1","2.5.1","1.0.10","1.4.2","1.1.1","2.22","2.0.3","0.4.6","1.7.4","4.3.1","3.2.1","1.2.0","4.3.1","1.2.3","4.3.1","0.6.3","2.5.0","0.39","1.8-4","2.3.7"]}]}]} </script> <!--/html_preserve--> </div> diff --git a/DCProject_files/figure-html/unnamed-chunk-8-1.png b/DCProject_files/figure-html/unnamed-chunk-8-1.png index 5426a0edafb5544d3699f2c4aa936ead6e3a6cc0..71a4d952386c0c28baad02a720f29c93c3ce787a 100644 Binary files a/DCProject_files/figure-html/unnamed-chunk-8-1.png and b/DCProject_files/figure-html/unnamed-chunk-8-1.png differ diff --git a/DCProject_files/figure-html/unnamed-chunk-9-1.png b/DCProject_files/figure-html/unnamed-chunk-9-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5426a0edafb5544d3699f2c4aa936ead6e3a6cc0 Binary files /dev/null and b/DCProject_files/figure-html/unnamed-chunk-9-1.png differ diff --git a/narmtest.csv b/narmtest.csv new file mode 100644 index 0000000000000000000000000000000000000000..e12bbb25591fa990d06cc9a5255049bd03270548 --- /dev/null +++ b/narmtest.csv @@ -0,0 +1,4 @@ +a, b, c +1, , 3 +1, 5, 9 +, 6, \ No newline at end of file