Wissenschaftliche Methoden (SS 2017)

Auf Wunsch der Studierenden fand im Rahmen der Vorlesung "Wissenschaftliche Methoden" ein äußerst kurz gehaltener R-Crashkurs statt. Anbei finden Sie die Unterlagen hierzu.

(1) Skript zum R-Crashkurs

(2) Datensatzbeschreibungen "Toothgrowth" und "Swiss" (in Englisch)

(3) Hinweise zu Statistik-Software

Weiterführende Informationen zu R finden sich auch im Online-Tutorial auf dieser Website:

R-Datenanalyse

(1) Skript zum R-Crashkurs


###Datenimport###


# Eigener Datensatz kann über "Import Dataset" (siehe rechts "Environment") geladen werden

# Wichtige Anmerkung: Kommas werden in Punkte umgewandelt, damit statistische Analysen funktionieren. Hierzu wurde auch der Generator für den Import gezeigt.



###Beispieldatensatz laden###


data("ToothGrowth")



###Datensatz kennenlernen/analysieren###


ls(ToothGrowth)

str(ToothGrowth)

View(ToothGrowth)


by(ToothGrowth$len, INDICES = list(ToothGrowth$supp, ToothGrowth$dose), summary)

plot (ToothGrowth$dose,ToothGrowth$len)

plot(ToothGrowth)



###Bestimmung von Datentypen###


# Anmerkung: Es gibt folgende Datentypen: numeric, complex, logical, character, raw


mode(ToothGrowth$len)



###Neue Variable generieren/löschen###


attach(ToothGrowth)

ToothGrowth$neuevariable <- ToothGrowth$len/ToothGrowth$dose

View(ToothGrowth)

ToothGrowth$neuevariable <- NULL



###Basisanalysen###



###Welch Two Sample Test Nr. 1: Ist Orangensaft effektiver als Ascorbinsäure? (Zahnwachstum)###


t.test(len~supp, data=ToothGrowth)


# Interpretation: Erster t-Test zeigt, dass generell OS effektiver als AS ist.Null-Hypothese (Differenz = 0) kann verworfen werden -> Indikation für H1. Signifikanz/p-Wert jedoch schwach (-> t-Test für dose = 2.0 zeigt Ursache hierfür)


t.test(len~supp, data=ToothGrowth[ToothGrowth$dose==0.5,])

t.test(len~supp, data=ToothGrowth[ToothGrowth$dose==1.0,])

t.test(len~supp, data=ToothGrowth[ToothGrowth$dose==2.0,])



###Welch Two Sample Test Nr. 2: Besteht eine Korrelation zwischen Zahnlänge und Dosierung?###


# Schritt 1: Dosierungen definieren, die verglichen werden sollen, z.B. dose1 = 0,5 und 1 mg


dose1 <- subset(ToothGrowth, dose %in% c(0.5, 1.0))

dose2 <- subset(ToothGrowth, dose %in% c(0.5, 2.0))

dose3 <- subset(ToothGrowth, dose %in% c(1.0, 2.0))


# Schritt 2: Tests für dose 1 bis 3


t.test(len ~ dose, paired = F, var.equal = F, data = dose1)

t.test(len ~ dose, paired = F, var.equal = F, data = dose2)

t.test(len ~ dose, paired = F, var.equal = F, data = dose3)


# Interpretation: Bei allen t-Tests kann die H0 verworfen werden -> Indikation für H1



###Korrelationsanalyse###


cor (ToothGrowth$len, ToothGrowth$dose, method = c("pearson"))

cor (ToothGrowth$len, ToothGrowth$dose, method = c("kendall"))

cor (ToothGrowth$len, ToothGrowth$dose, method = c("spearman"))



###Regressionsanalyse###


# Anmerkung: Datensatz ToothGrowth ist nicht geeignet für eine Regressionsanalyse -> Neuer Datensatz "swiss"



###Datensatz kennenlernen/analysieren###


# Folgende Variablen sind enthalten:

# Fertility Ig, "common standardized fertility measure"

# Agriculture % of males involved in agriculture as occupation

# Examination % draftees receiving highest mark on army examination

# Education % education beyond primary school for draftees.

# Catholic % "catholic" (as opposed to "protestant").

# Infant.Mortality % live births who live less than 1 year.


data("swiss")

View(swiss)

plot(swiss)

cor(swiss)


###Einfache lineare Regression###



###Modellwahl###


# Anmerkung: Die Auswahl der Variablen, die ins Modell eingehen sollen, kann vorab per Akaikes Informationskriterium (AIC) erfolgen. Es gibt eine ganze Reihe weiterer Kriterien, die angelegt werden können.


step (lm(swiss$Fertility ~ swiss$Agriculture + swiss$Examination + swiss$Education + swiss$Catholic + swiss$Infant.Mortality))


regfert <- lm(formula = swiss$Fertility ~ swiss$Agriculture + swiss$Education + swiss$Catholic + swiss$Infant.Mortality)



###Ergebnisse###


regfert$coefficients

summary(regfert)



###Modellannahmen testen###

plot(regfert)

(2) Datensatzbeschreibungen "Toothgrowth" und "Swiss" (in Englisch)

Toothgrowth

  • In 1947 data measuring the effect of vitamin C on tooth growth in guinea pigs was collected.

  • The response is the length of odontoblasts (cells responsible for tooth growth) in 60 guinea pigs.

  • Each animal received one of three dose levels of vitamin C (0.5, 1, and 2 mg/day) by one of two delivery methods, (orange juice or ascorbic acid (a form of vitamin C and coded as VC).

-> Data

Swiss

  • Switzerland, in 1888, was entering a period known as the demographic transition; i.e., its fertility was beginning to fall from the high level typical of underdeveloped countries.

  • The data collected are for 47 French-speaking “provinces” at about 1888.

  • Here, all variables are scaled to [0, 100], where in the original, all but "Catholic" were scaled to [0, 1].

-> Data

(3) Hinweise zu Statistik-Software

Open Source:

  • R (freie Programmiersprache und zugleich Software-Umgebung)

  • RStudio (integrierte Entwicklungsumgebung und grafische Benutzeroberfläche für R; Bedienung mittels syntaxbasierten "Scripts")

  • Weitere freie Softwares (z. T. auch R-basiert)

Proprietäre Software:

  • Stata (Umfassende Software für empirische Analysen; Bedienung über Menü oder mittels syntaxbasierten "Do-Files")

  • SPSS (Umfassende Software für empirische Analysen; i. d. R. Bedienung über Menü)

  • EViews (Einsatzschwerpunkt: Zeitreihenanalyse)

  • MATLAB (Einsatzschwerpunkt: Numerische Berechnungen, insb. Matrizen)