diff --git a/.Rhistory b/.Rhistory index 010d101158b805125bea8fd02d19dff7a2cf394a..25085c8c3cdf8263077fedea74dc691908b5581f 100644 --- a/.Rhistory +++ b/.Rhistory @@ -7,3 +7,6 @@ learnr::run_tutorial("Test1.Rmd") ```{r addition, exercise=TRUE} rmarkdown::render("Test1.Rmd") library(learnr) +install.packages(readxl) +install.packages("readxl") +library("readxl") diff --git a/.Rproj.user/18643A8C/pcs/files-pane.pper b/.Rproj.user/18643A8C/pcs/files-pane.pper new file mode 100644 index 0000000000000000000000000000000000000000..f6a1814aa284e0549bff49f10175ed858e57bd8f --- /dev/null +++ b/.Rproj.user/18643A8C/pcs/files-pane.pper @@ -0,0 +1,9 @@ +{ + "sortOrder": [ + { + "columnIndex": 2, + "ascending": true + } + ], + "path": "F:/Dokumente/Schule/Studium/DS/Project" +} \ No newline at end of file diff --git a/.Rproj.user/18643A8C/pcs/source-pane.pper b/.Rproj.user/18643A8C/pcs/source-pane.pper new file mode 100644 index 0000000000000000000000000000000000000000..902cc6f8a1c4c64f44276e0450d167eb64c2e4a3 --- /dev/null +++ b/.Rproj.user/18643A8C/pcs/source-pane.pper @@ -0,0 +1,3 @@ +{ + "activeTab": 0 +} \ No newline at end of file diff --git a/.Rproj.user/18643A8C/pcs/windowlayoutstate.pper b/.Rproj.user/18643A8C/pcs/windowlayoutstate.pper new file mode 100644 index 0000000000000000000000000000000000000000..411a4999acf4fb225ef5aaaedeeb8592c1876947 --- /dev/null +++ b/.Rproj.user/18643A8C/pcs/windowlayoutstate.pper @@ -0,0 +1,14 @@ +{ + "left": { + "splitterpos": 398, + "topwindowstate": "NORMAL", + "panelheight": 959, + "windowheight": 997 + }, + "right": { + "splitterpos": 598, + "topwindowstate": "NORMAL", + "panelheight": 959, + "windowheight": 997 + } +} \ No newline at end of file diff --git a/.Rproj.user/18643A8C/pcs/workbench-pane.pper b/.Rproj.user/18643A8C/pcs/workbench-pane.pper new file mode 100644 index 0000000000000000000000000000000000000000..75e70e94fd86ec52381e5df6ebd227a3255fe736 --- /dev/null +++ b/.Rproj.user/18643A8C/pcs/workbench-pane.pper @@ -0,0 +1,5 @@ +{ + "TabSet1": 0, + "TabSet2": 0, + "TabZoom": {} +} \ No newline at end of file diff --git a/.Rproj.user/18643A8C/rmd-outputs b/.Rproj.user/18643A8C/rmd-outputs new file mode 100644 index 0000000000000000000000000000000000000000..2abe10579b356b9054f93085f487944504e90f3c --- /dev/null +++ b/.Rproj.user/18643A8C/rmd-outputs @@ -0,0 +1,5 @@ + +F:/Dokumente/Schule/Studium/DS/Project/DCProject.html + + + diff --git a/.Rproj.user/18643A8C/saved_source_markers b/.Rproj.user/18643A8C/saved_source_markers new file mode 100644 index 0000000000000000000000000000000000000000..2b1bef112ac6921abda6162a65dbfcd8c6d55c80 --- /dev/null +++ b/.Rproj.user/18643A8C/saved_source_markers @@ -0,0 +1 @@ +{"active_set":"","sets":[]} \ No newline at end of file diff --git a/.Rproj.user/18643A8C/sources/per/t/07F1A6F7 b/.Rproj.user/18643A8C/sources/per/t/07F1A6F7 new file mode 100644 index 0000000000000000000000000000000000000000..04455523b1b8ef499bee6f75c5a73572e002b5b1 --- /dev/null +++ b/.Rproj.user/18643A8C/sources/per/t/07F1A6F7 @@ -0,0 +1,24 @@ +{ + "id": "07F1A6F7", + "path": "F:/Dokumente/Schule/Studium/DS/Project/DCProject.Rmd", + "project_path": "DCProject.Rmd", + "type": "r_markdown", + "hash": "1068266428", + "contents": "", + "dirty": false, + "created": 1688043194530.0, + "source_on_save": false, + "relative_order": 1, + "properties": { + "source_window_id": "", + "Source": "Source" + }, + "folds": "", + "lastKnownWriteTime": 1688043158, + "encoding": "UTF-8", + "collab_server": "", + "source_window": "", + "last_content_update": 1688043158, + "read_only": false, + "read_only_alternatives": [] +} \ No newline at end of file diff --git a/.Rproj.user/18643A8C/sources/per/t/07F1A6F7-contents b/.Rproj.user/18643A8C/sources/per/t/07F1A6F7-contents new file mode 100644 index 0000000000000000000000000000000000000000..90e3b9e332d682704197e56d42ee8c4d390de0da --- /dev/null +++ b/.Rproj.user/18643A8C/sources/per/t/07F1A6F7-contents @@ -0,0 +1,86 @@ +--- +title: "Tutorial Data Science" +author: | + |Projektgruppe 01 + |Martin Hustoles + |Marcel Kehrberg + |Kevin Kirsten +date: "Abgabedatum: 03.07.2023" +output: + learnr::tutorial: + toc: true + toc_depth: 1 + theme: cerulean + +runtime: shiny_prerendered +--- + +```{r setup, include=FALSE} +library(learnr) +``` + +## Titelseite +{width=800} + +### Lernziel +Ziel dieses Tutorial ist es, ein interaktives Tool aufzubauen um einen Teil der in der Vorlesung vermittelten Inhalte zu vermitteln und gleichzeitig unsere Datenbasis passend aufzubereiten,zu analysieren und die Ergebnisse zu visualisieren. + +### Info +Modul: Data Science +Semester: SS23 +Dozent: Uwe Kloos +Projektgruppe: 01 +Gruppenmitglieder: Martin Hustoles, Marcel Kehrberg, Kevin Kirsten +Abgabedatum: 03.07.2023 + + +## Datenbasis + + +### Datentabelle + + +### Anwendungsdomäne +Bildung. + +Es kann eingesehen werden, wie viele Studierende jeweils in den Wintersemestern zwischen 98/99 und 21/22 an Deutschen Hochschulen/Universitäten eingeschrieben waren. + +Es wird Unterteilt in Deutsche und Ausländische, sowie Männliche und Weibliche Student/Innen. + +Man kann einsehen wie sich die Anzahl der Studierenden in Deutschland, sowie der Anteil an Deutschen/Ausländischen und Männlichen/Weiblichen Studend/Innen entwickelt hat. + +### Datenerhebung +Primärdaten des Statistischen Bundesamts. Vollerhebung. Zeitreihen. + +Link zur Quelle: <https://www-genesis.destatis.de/genesis/online?operation=table&code=21311-0001&bypass=true&levelindex=1&levelid=1680177866354#abreadcrumb> + +### Beschreibung des Datensatzes + + + + +Merkmalsträger: 24 + +Merkmale: 10 + +Größe des Datensatzes: 24 Zeilen und 10 Spalten + + +### Hypothesen +1. Die Anzahl der Ausländischen Studenten in Deutschland hat sich seit dem WS 00/01 verdoppelt. +2. Der %-Anteil an studierenden Frauen (insgesamt) gegenüber studierenden Männern (insgesamt) hat sich seit dem WS 98/99 stetig erhöht. + +## Datenaufbereitung + +## Datenanalyse + +## Ergebnispräsentation + +## Teaminfos +Wer hat was erstellt/implementiert: + +Martin Hustoles: Datenanalyse, Ergebnispräsentation + +Marcel Kehrberg: Datenaufbereitung + +Kevin Kirsten: Layout, Titelseite, Datenbasis diff --git a/.Rproj.user/18643A8C/sources/prop/02261EA9 b/.Rproj.user/18643A8C/sources/prop/02261EA9 new file mode 100644 index 0000000000000000000000000000000000000000..bb276909ee70e4175f228787abe8a4a2df0886d8 --- /dev/null +++ b/.Rproj.user/18643A8C/sources/prop/02261EA9 @@ -0,0 +1,4 @@ +{ + "source_window_id": "", + "Source": "Source" +} \ No newline at end of file diff --git a/.Rproj.user/18643A8C/sources/prop/INDEX b/.Rproj.user/18643A8C/sources/prop/INDEX new file mode 100644 index 0000000000000000000000000000000000000000..8d06d91d5a12bc10ff087335144e2c1d9710455e --- /dev/null +++ b/.Rproj.user/18643A8C/sources/prop/INDEX @@ -0,0 +1 @@ +F%3A%2FDokumente%2FSchule%2FStudium%2FDS%2FProject%2FDCProject.Rmd="02261EA9" diff --git a/DCProject.Rmd b/DCProject.Rmd index 8dd57389f1a1d6c4ea7c4f9abe2d980f84205ded..c48d5698afa503a6111590f551f0c1e7f80f1ea7 100644 --- a/DCProject.Rmd +++ b/DCProject.Rmd @@ -113,7 +113,74 @@ Größe des Datensatzes: 24 Zeilen und 10 Spalten 2. Der %-Anteil an studierenden Frauen (insgesamt) gegenüber studierenden Männern (insgesamt) hat sich seit dem WS 98/99 stetig erhöht. ## Datenaufbereitung +### Wie können Daten eingelesen werden +Es können verschieden Datenvormate eingelesen werden z.B CSV, XLSX +1. Daten aus einer CSV-Datei einlesen + + 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" + + Wenn die Datei im Arbeitsverzeichnis ist + + ``` + daten_csv <- read.csv2("daten.csv", na="NA") + + ``` + + Wenn die Datei auserhalb des Arbeitsverzeichnis ist + + ``` + daten_csv <- read.csv2("C:/Dokumente/daten.csv", na="NA") + + ``` + + Wenn man den Pfand erst nach dem ausführen angeben will kann man auch + + ``` + daten_csv <- read.csv2(file.choose(), na="NA") + + ``` + nuzen dort wird nach dem ausführen ein Fenster geöfnet bei dem man die Datei dann im Explorer auswählen kann. + + An die read.csv bzw read.csv2 können noch weitere Parameter Hinzugefügt werden z.B. + + ``` + na="NA" Dadruch werden fehlende Werte spezifiziert damit R diese nicht für Berechnungen verwendet + + dec="," Dadurch wird das Trennzeichen für Dezimalzahlen festgelegt zum einlesen + + sep=";" Dadurch wird das Trennzeichen das die Werte in einer Zeile Seperiert festgelegt zum einlesen + ``` + +2. Daten für eine XLSX Datei einlesen + + Hier wird an stelle von read.csv bzw read.csv2 read_exel verwendet + + davor muss aber mit + + ``` + install.packages("readxl") + + ``` + Das benötigte Packert instalirt werden und mit + + ``` + libary (readxl) + ``` + das Packet engebunden werden um die read Funktion verwenden zu können + + hier gibt es aber nicht die Argumente wie bei csv auser + + ``` + na="NA" + ``` + +### Wie können Inkosistenzen und Leerstellen behoben werden ## Datenanalyse diff --git a/DCProject.html b/DCProject.html index c2512a144fdeabb12b511a6c9e77d1d7bc1e4a51..528fd4d5d6cbc2b9ad7655e5f55b97e432ab26c8 100644 --- a/DCProject.html +++ b/DCProject.html @@ -589,6 +589,61 @@ erhöht.</li> </div> <div id="section-datenaufbereitung" class="section level2"> <h2>Datenaufbereitung</h2> +<div id="section-wie-können-daten-eingelesen-werden" +class="section level3"> +<h3>Wie können Daten eingelesen werden</h3> +<p>Es können verschieden Datenvormate eingelesen werden z.B CSV, +XLSX</p> +<ol style="list-style-type: decimal"> +<li><p>Daten aus einer CSV-Datei einlesen</p> +<p>es gibt zwei Funktionen zum einelesen einer CSV-Datei</p> +<ul> +<li>read.csv wird verwendet wenn Dezimalzahlen mit eine Punkt “.†+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 +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> +<pre><code>daten_csv <- read.csv2("daten.csv", na="NA") +</code></pre> +<p>Wenn die Datei auserhalb des Arbeitsverzeichnis ist</p> +<pre><code>daten_csv <- read.csv2("C:/Dokumente/daten.csv", na="NA") +</code></pre> +<p>Wenn man den Pfand erst nach dem ausführen angeben will kann man +auch</p> +<pre><code>daten_csv <- read.csv2(file.choose(), na="NA") +</code></pre> +<p>nuzen dort wird nach dem ausführen ein Fenster geöfnet bei dem man +die Datei dann im Explorer auswählen kann.</p> +<p>An die read.csv bzw read.csv2 können noch weitere Parameter +Hinzugefügt werden z.B.</p> +<pre><code>na="NA" Dadruch werden fehlende Werte spezifiziert damit R diese nicht für Berechnungen verwendet + +dec="," Dadurch wird das Trennzeichen für Dezimalzahlen festgelegt zum einlesen + +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>Hier wird an stelle von read.csv bzw read.csv2 read_exel +verwendet</p> +<p>davor muss aber mit</p> +<pre><code>install.packages("readxl") +</code></pre> +<p>Das benötigte Packert instalirt werden und mit</p> +<pre><code>libary (readxl)</code></pre> +<p>das Packet engebunden werden um die read Funktion verwenden zu +können</p> +<p>hier gibt es aber nicht die Argumente wie bei csv auser</p> +<pre><code>na="NA"</code></pre></li> +</ol> +</div> +<div +id="section-wie-können-inkosistenzen-und-leerstellen-behoben-werden" +class="section level3"> +<h3>Wie können Inkosistenzen und Leerstellen behoben werden</h3> +</div> </div> <div id="section-datenanalyse" class="section level2"> <h2>Datenanalyse</h2> @@ -660,7 +715,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]}},"value":[{"type":"character","attributes":{},"value":["backports","base","bslib","cachem","cellranger","checkmate","cli","compiler","datasets","digest","ellipsis","evaluate","fansi","fastmap","fontawesome","glue","graphics","grDevices","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","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","0.3.2","0.20","1.0.4","1.1.1","0.5.1","1.6.2","4.2.3","4.2.3","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","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]}},"value":[{"type":"character","attributes":{},"value":["backports","base","bslib","cachem","cellranger","checkmate","cli","compiler","datasets","digest","ellipsis","evaluate","fansi","fastmap","fontawesome","glue","graphics","grDevices","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","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","0.3.2","0.21","1.0.4","1.1.1","0.5.1","1.6.2","4.3.1","4.3.1","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","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/Daten.xlsx b/Daten.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/Daten_Einlesen_Bsp.PNG b/Daten_Einlesen_Bsp.PNG new file mode 100644 index 0000000000000000000000000000000000000000..03c68236dc2c12844a54f87350f183b9f19f85ce Binary files /dev/null and b/Daten_Einlesen_Bsp.PNG differ diff --git a/daten.csv b/daten.csv new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391