ich habe eine "Frage" zu R
Ich würde gerne folgende Referenztabellen mit R erstellen - also, ich möchte deren Werte berechnen. Die Tabelle mach ich dann in LaTeX schön.
In R kann man Fallzahlen in Abhängigkeit von Power, Effekt und Alpha mit dem pwr-Paket rechnen.
Code: Alles auswählen
library(pwr)
# gib Fallzahl für d=0.5; power=0.8 und alpha=0.05 aus
pwr.t.test(d=0.50, sig.level=0.05, power=0.80, type="two.sample", alternative="two.sided")
# zeige nur die Fallzahl
pwr.t.test(d=0.50, sig.level=0.05, power=0.80, type="two.sample", alternative="two.sided")$n
Code: Alles auswählen
powertabelle <- function(d,power,alpha){
# erstelle Dummy x, damit c() funktioniert
x <- 0
# gehe für alle werte in power durch
for(power2 in power){
# gehe alle Werte in d durch
for(d2 in d) {
# Berechne die Fallzahl für alle d2 mit power2
x <- c(x, round(pwr.t.test(d=d2, sig.level=alpha, power=power2, type="two.sample", alternative="two.sided")$n,0))
}
}
# entferne Dummy-Eintrag
x <- x[-1]
# stelle den Wertevector als Matrix mit d*power Spalten/Zeilen
x <- matrix(x,nrow=length(power),ncol=length(d),byrow=TRUE)
# übergebe die Matrix in ein Dataframe
x <- data.frame(x)
# benenne die Spalten
colnames(x) <- d
# benenne die Zeilen
row.names(x)<- power
# gebe das fertige Dataframe zurück
return(x)
}
Code: Alles auswählen
d <- seq(from=0.1,to=0.8,by=0.05)
power <- c(seq(0.6,0.9,0.1),0.95, 0.99)
# rufe damit die Funktion auf
# erzeuge Tabelle für alpha = 0.05
powertabelle(d,power,0.05)
Das funktioniert wie gesagt ganz gut.
Meine Frage ist:
gibt es einen eleganteren Weg, diese Datenreihen zu erzeugen?
Grade das "Dummy-X" in der Funktion stört mich, das sieht so hingepfuscht aus, wenn man dummys anlegen und hinterher wieder löschen muss...
Ich bin dankbar für jede Rückmeldung,
beste Grüße
P