Woche2
This commit is contained in:
		
							parent
							
								
									5113851950
								
							
						
					
					
						commit
						afd7d1babf
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -45,3 +45,4 @@ docs/
 | 
				
			|||||||
# translation temp files
 | 
					# translation temp files
 | 
				
			||||||
po/*~
 | 
					po/*~
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*.onetoc2
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								images/kurtosis.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								images/kurtosis.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 34 KiB  | 
							
								
								
									
										367
									
								
								report.html
									
									
									
									
									
								
							
							
						
						
									
										367
									
								
								report.html
									
									
									
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										211
									
								
								report.rmd
									
									
									
									
									
								
							
							
						
						
									
										211
									
								
								report.rmd
									
									
									
									
									
								
							@ -4,10 +4,13 @@ author: "Marc Gauch"
 | 
				
			|||||||
date: "`r Sys.Date()`"
 | 
					date: "`r Sys.Date()`"
 | 
				
			||||||
output:
 | 
					output:
 | 
				
			||||||
  html_document:
 | 
					  html_document:
 | 
				
			||||||
    toc: true
 | 
					    toc: yes
 | 
				
			||||||
    toc_depth: 2
 | 
					    toc_depth: 4
 | 
				
			||||||
    toc_float: true
 | 
					    toc_float: yes
 | 
				
			||||||
    number_sections: true
 | 
					    number_sections: yes
 | 
				
			||||||
 | 
					  pdf_document:
 | 
				
			||||||
 | 
					    toc: yes
 | 
				
			||||||
 | 
					    toc_depth: '2'
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```{r setup, include=FALSE}
 | 
					```{r setup, include=FALSE}
 | 
				
			||||||
@ -21,6 +24,49 @@ if (!require(tidyverse)){
 | 
				
			|||||||
  install.packages("tidyverse")
 | 
					  install.packages("tidyverse")
 | 
				
			||||||
  library(tidyverse)
 | 
					  library(tidyverse)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					if (!require(moments)){
 | 
				
			||||||
 | 
					  install.packages("moments")
 | 
				
			||||||
 | 
					  library(moments)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Own functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Frequency Table ordered from wish.com
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					freq <- function(data){
 | 
				
			||||||
 | 
					  na_count = length(data[is.na(data)])
 | 
				
			||||||
 | 
					  valid_count = length(data)-na_count
 | 
				
			||||||
 | 
					  frequency <- table(data)
 | 
				
			||||||
 | 
					  p <- prop.table(frequency)
 | 
				
			||||||
 | 
					  percent <- round(p*100, digits = 2)
 | 
				
			||||||
 | 
					  frequency_sum <- cumsum(frequency)
 | 
				
			||||||
 | 
					  hkum <- cumsum(p)
 | 
				
			||||||
 | 
					  percent_sum <- round(hkum*100, digits = 2)
 | 
				
			||||||
 | 
					  freq_table <- cbind(frequency, percent, frequency_sum, percent_sum)
 | 
				
			||||||
 | 
					  valid_percent <- round(valid_count / length(data)*100, digits = 2)
 | 
				
			||||||
 | 
					  na_percent <- round(na_count / length(data)*100, digits = 2)
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  print(freq_table)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  count <- c(valid_count, na_count, valid_count+na_count)
 | 
				
			||||||
 | 
					  percent <- c(valid_percent, na_percent, valid_percent+na_percent)
 | 
				
			||||||
 | 
					  totall <- c(valid_count+na_count, valid_percent+na_percent)
 | 
				
			||||||
 | 
					  df <- data.frame(count, percent, row.names = c("valid", "NA", "Total"))
 | 
				
			||||||
 | 
					  print(df)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					*Source:  https://tellmi.psy.lmu.de/tutorials/deskriptive-statistiken-und-grafiken.html#haeufigkeiten-diskret and adapted*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Modus
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					getmode <- function(v) {
 | 
				
			||||||
 | 
					   uniqv <- unique(v)
 | 
				
			||||||
 | 
					   x <- tabulate(match(v, uniqv))
 | 
				
			||||||
 | 
					   uniqv[which(x==max(x))]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Load Data
 | 
					# Load Data
 | 
				
			||||||
@ -209,6 +255,7 @@ litdata$D1_2 <- as.logical(litdata$D1_2)
 | 
				
			|||||||
litdata <- litdata %>% mutate(D1_3 = ifelse(D1_3 == "Ja", TRUE, ifelse(D1_3 == "Nicht Gewählt", FALSE, D1_3)))
 | 
					litdata <- litdata %>% mutate(D1_3 = ifelse(D1_3 == "Ja", TRUE, ifelse(D1_3 == "Nicht Gewählt", FALSE, D1_3)))
 | 
				
			||||||
litdata$D1_3 <- as.logical(litdata$D1_3)
 | 
					litdata$D1_3 <- as.logical(litdata$D1_3)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
litdata <- litdata %>% mutate(D1_4 = ifelse(D1_4 == "Ja", TRUE, ifelse(D1_4 == "Nicht Gewählt", FALSE, D1_4)))
 | 
					litdata <- litdata %>% mutate(D1_4 = ifelse(D1_4 == "Ja", TRUE, ifelse(D1_4 == "Nicht Gewählt", FALSE, D1_4)))
 | 
				
			||||||
litdata$D1_4 <- as.logical(litdata$D1_4)
 | 
					litdata$D1_4 <- as.logical(litdata$D1_4)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -307,9 +354,163 @@ displayFunction1 <- function(table, column) {
 | 
				
			|||||||
  displayFunction1(litdata, "D7")
 | 
					  displayFunction1(litdata, "D7")
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Die Warnung ist resultiert daraus, dass es sehr viele *NA* gibt.
 | 
					Die Warnung resultiert daraus, dass es sehr viele *NA* gibt.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### D8 (H008) {-}
 | 
					### D8 (H008) {-}
 | 
				
			||||||
```{r}
 | 
					```{r}
 | 
				
			||||||
  displayFunction1(litdata, "D8")
 | 
					  displayFunction1(litdata, "D8")
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Selbststudium 2.1
 | 
				
			||||||
 | 
					We have the year 2021
 | 
				
			||||||
 | 
					## Preparation
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					birthyears <- litdata$D7
 | 
				
			||||||
 | 
					# remove NAs
 | 
				
			||||||
 | 
					birthyears <- birthyears[!is.na(birthyears)]
 | 
				
			||||||
 | 
					age <- 2021-birthyears
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Frequency
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					freq(age)
 | 
				
			||||||
 | 
					# with NA
 | 
				
			||||||
 | 
					freq(2021-litdata$D7)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Selbststudium 2
 | 
				
			||||||
 | 
					https://www.beratung-statistik.de/statistik-beratung-infos/r-tutorial/deskriptive-statistik-r/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Modalwert
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					# own method
 | 
				
			||||||
 | 
					getmode(age)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Median
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					median(age)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Arithmetischer Mittelwert
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					mean(age)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Spannweite
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					max(age)-min(age)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Quartilsabstand
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					IQR(age)
 | 
				
			||||||
 | 
					# just for fun
 | 
				
			||||||
 | 
					summary(age)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Varianz
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					var(age)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Standardabweichung
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					sd(age)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Schiefe
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					library(moments)
 | 
				
			||||||
 | 
					skewness(age)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					> Die Kennzahl Schiefe ist wird Null bei einer perfekt symmetrischen Verteilung, größer als Null bei einer rechtsschiefen und kleiner als Null bei einer linksschiefen Verteilung. 
 | 
				
			||||||
 | 
					https://www.beratung-statistik.de/statistik-beratung-infos/r-tutorial/deskriptive-statistik-r/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Kurtosis
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					kurtosis(age)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					>  Eine weitere bekannte Kennzahl ist die Kurtosis. Um eine Vorstellung von der Bedeutung der Kurtosis zu erhalten, betrachten Sie nachfolgende Graphik.  
 | 
				
			||||||
 | 
					In dieser Graphik sind eine Normalverteilung, sowie eine steilgipflige (aka leptokurtisch) und eine flachgipflige (aka platykurtisch) dargestellt.
 | 
				
			||||||
 | 
					Die steilgipflige Verteilung ist in der Mitte spitzer als die Normalverteilung und an den Rändern breiter. Bei der flachgipligen Verteilung ist es anders herum. Die Kurtosis ist nun eine Kennzahl, mit der untersucht wird, ob eine Verteilung im Vergleich zur Normalverteilung flachgipflig oder steilgipflig ist:  
 | 
				
			||||||
 | 
					- Für eine Normalverteilung nimmt die Kurtosis genau den Wert 3 an.  
 | 
				
			||||||
 | 
					- Eine steilgipflige Verteilung hat eine Kurtosis, die größer als 3 ist.  
 | 
				
			||||||
 | 
					- Für eine flachgipflige Verteilung ist die Kurtosis kleiner als 3.  
 | 
				
			||||||
 | 
					- Beachten Sie: Anstatt der Kurtosis wird häufig auch der sogenannte Exzess verwendet. Dies ist eine weitere Kennzahl, die definiert ist durch die Formel: Exzess = Kurtosis - 3.   
 | 
				
			||||||
 | 
					- Der Exzess ist somit größer als Null, wenn die Verteilung steilgipflig ist, und kleiner als Null bei einer flachgipfligen Verteilung.  
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					Frech kopiert von: https://www.beratung-statistik.de/statistik-beratung-infos/r-tutorial/deskriptive-statistik-r/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### QQ-Plot
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					qqnorm(age)
 | 
				
			||||||
 | 
					qqline(age)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Historam for age {.tabset}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Auto Breaks {-}
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					hist(age)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 3 Breaks {-}
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					hist(age, breaks = 3)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 5 Breaks {-}
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					hist(age, breaks = 5)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 7 Breaks {-}
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					hist(age, breaks = 7)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 10 Breaks {-}
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					hist(age, breaks = 10)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 15 Breaks {-}
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					hist(age, breaks = 15)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 20 Breaks {-}
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					hist(age, breaks = 20)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 30 Breaks {-}
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					hist(age, breaks = 30)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Selbststudium 2.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Auf der Grundlage von Daten aus einer Schweizer Schüllererhebung wird aus verschiedenen Variablen (z.B. Angaben zum Beruf der Eltern, zur Elternausbildung sowie zur Anzahl von Bücchern zu Hause) ein Index zur sozialen Herkunft erstellt. Dieser Index erscheint in einer neu gebildeten numerischen Variable im Datensatz, gibt also für jeden Fall in diesem Datensatz einen Skalenwert zur sozialen Herkunft an. Die neu gebildete Skala läuft von 0 (Wert mit der geringsten Ausprägung) bis 10 (Wert mit der höchsten Ausprägung).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Für die gesamte Schweiz liegt der arithmetische Mittelwert auf dieser Skala bei 5.6 und die Standardabweichung beträgt 1.8 (Zahlen sind von mir frei erfunden!). Die Verteilung entspricht einer Normalverteilung.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Der Mittelwert der Verteilung der Bündner Schüler liegt etwas tiefer als in der Gesamtschweiz, nämlich bei 5.1 mit einer Standardabweichung von 2.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Aufgabenstellung 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Wo in der Verteilung der Schweiz liegt der Bündner Mittelwert, bzw. wie viele Schweizer Schüler haben bzgl. der sozialen Herkunft einen tieferen Wert als der typische Bündner Schüler?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					pnorm(5.1, mean = 5.6, sd = 1.8)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Aufgabenstellung 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					In einem Bündner Ort beträgt der Mittelwert auf der Skala zur sozialen Herkunft 5.6, er ist also genauso hoch wie in der Gesamtschweiz. Was ist zur Lage dieses Wertes bezogen auf die Verteilung in Graubünden zu sagen? Also: Wie viele Schüler in GR liegen mit ihrem Wert darunter?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```{r}
 | 
				
			||||||
 | 
					pnorm(5.6, mean = 5.1, sd=2.0)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user