# fuggetlensegvizsgalat # (X,Y) egyuttes eloszlas, X, Y fuggetlenek-e? a <- rbinom(10,size=1,prob=0.6) b <- rbinom(10,size=1,prob=0.5) adat <- data.frame(a = a, b = b) table(a) table(b) table(a,b) a <- rbinom(50,size=1,prob=0.6) b <- rbinom(50,size=1,prob=0.5) # a,b, fuggetlenek table(a,b) c <- a+b # a,c fuggok ; b,c fuggok table(a,c) # statisztikailag hogy "bizonyitjuk", hogy valami # fuggetlen, vagy fuggo? # Person-fele chi^2 teszt # H0 : fuggetlenek # H1 : fuggoek a valtozok chisq.test(a,b) chisq.test(table(a,b)) # X-squared: chi^2 statisztika, adatok fuggvenye # chi^2 eloszlast kovet, # fuggetlenseg eseten kozel 0, # fuggore nagy pozitiv x mindig egyoldalas teszt # df : parameter, szabadsgi fok # p-value: szokasos modon, pl ha megendegett hiba # valseg 0.1, akkor p>0.1 H0 tipp, fuggetlenek ; # p< 0.1-re H1 tipp: fuggoseg chisq.test(a,c) table(a,c) # folytonos valtozok: nincsenek benne azonos ertekek! # gyakorisag tablanak semmi erteleme :( x <- rnorm(50) y <- rnorm(50) z <- x+y # x,y fuggetlen ; x,z fuggo ; y,z fuggo v <- rnorm(3) w <- rnorm(3) table(v,w) # intervallumokra vagjuk, diszkretizaljuk a valtozokat x.int <- cut(x,breaks=3) # breaks=3: osszesen 3 inervlalum, automatikusan szamol # osztopontokat # automatikusan factor-t hoz letre y.int <- cut(y,breaks=seq(-2,2,1)) # breaks=vekt: intervallumok hatarai egymast koveto vekt # elemek -- vigyazzunk, ha min, max nem fer bele, NA-k! # megoldas pl: range(y) # breaks=seq(min(y),max(y),length=3) # breaks=seq(min(y),max(y),by=2) z.int <- cut(z,breaks=3) table(x.int,y.int) chisq.test(x.int,y.int) # warning, ha tul kicsik ay egyuttes gyakorisag tabla cellai # altalban: atl. > 5 db / cella # de ne legyne tul nagy sem, n=1000-es mintat ne csak 2x2 # intevallumra vagjunk chisq.test(x.int,z.int)