Monatsmittel

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Monatsmittel

Beitrag von jogo »

es gibt viele Möglichkeiten, z.B.:

Code: Alles auswählen

MoVe <- matrix(NA, 12, 12)

for (i in 2:12)
  for (j in 1:(i-1)) {
    MoVe[i,j] <- with(d, wilcox.test(LUFTTEMPERATUR[Monat==i], LUFTTEMPERATUR[Monat==j])$p.value)
    MoVe[j,i] <- MoVe[i,j]
}
oder

Code: Alles auswählen

MoVe <- matrix(NA, 12, 12)
ind <- which(lower.tri(MoVe), arr.ind = TRUE)
p <- mapply(FUN=function(i,j) with(d, wilcox.test(LUFTTEMPERATUR[Monat==i], LUFTTEMPERATUR[Monat==j])$p.value), 
       ind[,"row"], ind[,"col"])
ergebnis <- data.frame(R=ind[,"row"], C=ind[,"col"], p=p)
ergebnis[ergebnis$p<0.05, ]
oder

Code: Alles auswählen

ind <- expand.grid(i=1:12, j=1:12)
ind <- ind[ind$i>ind$j,]
ergebnis <- ind
ergebnis$p <- mapply(FUN=function(i,j) with(d, wilcox.test(LUFTTEMPERATUR[Monat==i], LUFTTEMPERATUR[Monat==j])$p.value), 
                     ind$i, ind$j)
oder

Code: Alles auswählen

wilcox.ij <- function(ij) with(d, wilcox.test(LUFTTEMPERATUR[Monat==ij[1]], LUFTTEMPERATUR[Monat==ij[2]])$p.value)
ergebnis <- as.data.frame(t(combn(1:12, 2)))
ergebnis$p <- combn(1:12, 2, FUN=wilcox.ij)
Gruß, Jörg
saskiasal47

Re: Monatsmittel

Beitrag von saskiasal47 »

Habe noch Probleme, das in eine Tabelle zu überführen
hab das bisher:

Code: Alles auswählen

#            Paarweiser Vergleich aller Monate mit Hilfe des Wilcoxon-Mann-Whitney-Rangsummentests und dem Signifikanzniveau alpha=0.05
alpha<-0.05
p.wert<-numeric(12)
u.wert<-numeric(12)
for (j in 1:11){
d.x<-subset(Daten, Monat==j)$LUFTTEMPERATUR
d.y<-subset(Daten, Monat==j+1)$LUFTTEMPERATUR
p.wert[j]<-wilcox.test(d.x,d.y,exact=F,alternative="two.sided",conf.int=T)$p.value
u.wert[j]<-wilcox.test(d.x,d.y,exact=F,alternative="two.sided",conf.int=T)$statistic
print(paste(round(p.wert[j],digits=3),u.wert[j]),quote=F)
}
#
p.less<-sum(p.wert<alpha)
p.l.which<-which(p.wert<alpha)
print(paste("Anzahl Ablehnungen",p.less),quote=F)
print(paste("Ablehnung an Position",p.l.which),quote=F)
beta<-sum(p.wert>=alpha)/11
print(paste("Fehler zweiter Art",beta,"Teststärke",1-beta),quote=F)
#
#
#            Ausgabe der Ergebnisse als Tabelle       
#write.table(p.wert,file="Aufgabe4_.txt",quote=F,sep=" ",row.name=F)
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Monatsmittel

Beitrag von jogo »

Hallo Saskia,

in dem Hilfetest der Funktion write.table steht:
`x` the object to be written, preferably a matrix or data frame. If not, it is attempted to coerce `x`to a data frame.
Also probier bitte:

Code: Alles auswählen

write.table(x=data.frame(pWert=p.wert), file="Aufgabe4_.txt", quote=FALSE, sep=" ", row.name=FALSE)
Gruß, Jörg
Antworten