You are on page 1of 19

Statistik mit R

Freie Software für die Datenaufbereitung und -analyse

Robert Lischke
R
???
Statistische Auswertung

1. Dateneingabe
2. deskriptive Statistik
3. Hypothesenprüfung
4. grafische Aufbereitung
...
Warum gerade R?

VS
Statistical thinking will one day be as necessary
for efficient citizenship as the ability to read or
write.

- H. G. Wells
http://tinyurl.com/2kqp5l
Backup
● physiologische Daten
Daten und Skripte der Demo
gender variation age result question1 question2 question3 question4 question5 observer1 observer2
m b 23 1,95 4 5 3 2 3 1 1
m b 21 1,87 2 5 1 2 2 1 1
m a 19 -0,12 5 1 5 5 4 0 0
m a 21 2,84 5 5 3 1 5 0 0
f a 25 2,9 1 5 5 1 2 0 0
m a 20 -1 3 4 4 4 2 1 0
f a 19 -0,56 3 2 3 1 1 1 1
f b 16 1,6 3 1 1 3 4 1 1
f a 20 1,73 1 4 2 2 2 1 0
m a 21 0,84 4 4 5 4 5 1 0
f b 24 0,01 5 2 2 3 1 1 1
f b 22 -1,83 5 3 4 3 2 1 1
m b 21 1,06 1 4 2 5 2 1 0
f a 21 -0,86 2 5 5 3 5 0 1
f b 19 -1,46 2 3 1 1 4 1 0
f b 21 1,12 2 5 1 3 4 0 1
f a 19 0,2 1 1 3 2 1 1 0
f a 22 0,8 5 1 1 3 1 0 0
m a 25 0,39 2 2 3 5 3 1 1
f a 22 3,06 4 3 4 3 5 0 0
f b 22 0,04 5 5 5 2 5 1 1
f a 22 2,08 1 2 2 2 1 1 0
f a 20 0,2 2 3 3 2 5 0 1
m b 21 2,01 4 4 5 3 1 0 1
m a 24 1,43 2 3 2 3 5 1 0
f a 22 -1,02 3 5 1 2 4 1 1
m b 22 -1,68 2 5 3 4 4 1 0
f b 22 0,29 5 5 3 4 4 0 1
f a 20 2,48 1 3 2 4 5 1 1
f a 24 0,46 5 4 3 3 4 0 1
# File : auswertung.R
# Date : 08.01.2008
# Author : Robert Lischke
#
# "Statistik mit R" - Gastvortrag im Rahmen des A&O-Kolloquiums
# des Instituts für Psychologie der Humboldt-Universität Berlin

setwd("C:/Statistik mit R");

# Statistische Auswertung
# 1. Dateneingabe
daten <- read.csv("demo.csv", dec=",");

# 2. deskriptive Statistik
mean(daten$result);
median(daten$result);
sum(daten$result);

mean(daten$result[daten$variation == "a"]);
mean(daten$result[daten$variation == "b"]);

median(daten$result[daten$variation == "a"]);
median(daten$result[daten$variation == "b"]);

stem(daten$age);

# 3. Hypothesentestung
t.test(daten$result ~ daten$variation);

# 4. grafische Aufbereitung
boxplot(daten$result ~ daten$variation);
boxplot(daten$result ~ daten$variation, notch = TRUE);

# ...
library(psy);
# Reliabilität: Cronbach's alpha
cronbach(daten[, 5:9]);
# Beobachterübereinstimmung: Cohen's kappa
ckappa(daten[, c(10, 11)]);
# File : programmierung.R
# Date : 08.01.2008
# Author : Robert Lischke
#
# "Statistik mit R" - Gastvortrag im Rahmen des A&O-Kolloquiums
# des Instituts für Psychologie der Humboldt-Universität Berlin

setwd("C:/Statistik mit R")


source("auswertung.R");

# Erstellung einer übersichtlichen Tabelle für die Ergebnisse eines t-Tests


table.t.test <- function(x, y,
alternative = c("two.sided", "less", "greater"),
paired = FALSE,
var.equal = FALSE){
# M
M <- c(mean(x), mean(y));
# Mdn
Mdn <- c(median(x), median(y));
# SD
SD.x <- sd(x); SD.y <- sd(y);
SD <- c(SD.x, SD.y);
# SE: Standardabweichung, dividiert durch Quadratwurzel des Stichprobenumfangs
SE <- c((SD.x / sqrt(length(x))),
(SE.y <- SD.y / sqrt(length(y))));
# T-Test
temp <- t.test(x, y, alternative, paired, var.equal); # names(t.test(...)
T <- c(temp$statistic, NA); # T
df <- c(temp$parameter, NA); # df
p <- c(temp$p.value, NA); # p
result <- data.frame(M, Mdn, SD, SE, T, df, p);
return(result);
# TODO: get original names of x and y
# TODO: use of round()
# TODO: add * or ** if temp$p.value < 0.05 or <0.01
}

# Demonstration
table.t.test(daten$result[daten$variation == "a"],
daten$result[daten$variation == "b"],
alternative = "two.sided");