P = c(30, 18, 15, 13, 4, 2) Q = c(5, 21, 26, 20, 32, 34) Jahr = c(1950, 1960, 1971, 1980, 1993, 2005) prop = P/(P+Q) lost = data.frame(P, Q, prop, Jahr) ylim = c(0,1) plot(prop ~ Jahr, data = lost, ylim=ylim) plot(log(P/Q) ~ Jahr, data = lost) ########## g = glm(cbind(P, Q) ~ Jahr, binomial, data = lost) abline(g) anova(g, test="Chisq") # ============================================ par(mfrow=c(1,2)) plot(log(P/Q) ~ Jahr, data = lost, ylab="Log-odds (Hoch)") abline(g) plot(prop ~ Jahr, data = lost, ylab="Proportion (Hoch)") m = coef(g)[2] k = coef(g)[1] curve(exp(m*x + k)/(1+ exp(m*x+k)), add=T, col=2) # ============================================ P = c(110, 82) Q = c(90, 108) prop = P/(P+Q) Gender = factor(c("m", "w")) glot = data.frame(P, Q, prop, Gender) ylim = c(0, 1) plot(prop ~ Gender, data = glot, ylim=ylim) library(lattice) barchart(prop ~ Gender, data = glot, ylim=ylim) g = glm(cbind(P, Q) ~ Gender, binomial, data=glot) anova(g, test="Chisq") # ============================================ # Zur Info logodds = with(glot, log(P/Q)) x = with(glot, contrasts(Gender)) plot(x, logodds) abline(g) # Berechnung ohne Faktor (nur mit Intercept) g2 = glm(cbind(P, Q) ~ 1, binomial, data = glot) abline(g2, col="red", lty=2) plot(x, glot$prop, ylim=c(0, 1)) # plot(x, glot$prop, xlim = c(-10, 10), ylim=c(0, 1)) m = coef(g)[2] k = coef(g)[1] curve(exp(m*x + k)/(1+ exp(m*x+k)), add=T, col=2) # ============================================ antwort = c("z", "z", "z", "z", "s", "s", "z", "s", "z", "z", "z", "s", "z", "s", "s", "s", "z", "s", "s", "s") dialekt = c(rep("SH", 11), rep("BY", 9)) lang.df = data.frame(Urteil = factor(antwort), D = factor(dialekt)) # P, Q, prop berechnen für Bayern und SH tab = table(dialekt, antwort) temp = antwort=="z" a = aggregate(temp, list(dialekt), sum) b = aggregate(!temp, list(dialekt), sum) prop = a$x/(a$x + b$x) kurz.df = data.frame(P=a$x, Q=b$x, D = a$Group.1) # ============================================ g1 = glm(Urteil ~ D, binomial, data=lang.df) g2 = glm(cbind(P, Q) ~ D, binomial, data=kurz.df) # Abbildungen tab = with(lang.df, table(D, Urteil)) barchart(tab, auto.key=T, horizontal=F) prop = with(kurz.df, P/(P+Q)) barchart(prop ~ D, data = kurz.df, ylab="Proportion /z/") # ============================================ kj = read.delim(file.path(pfad, "kj.txt")) # ============================================ F2 = c(2311, 2176, 2023, 1885, 1770, 1667, 1548, 1437, 1351, 1269) P = c(rep(0, 6), 2, 4, 5, 5) Q = c(rep(5, 6), 3, 1, 0, 0) prop = P/(P+Q) ui = data.frame(P, Q, prop, F2) g = glm(cbind(P, Q) ~ F2, binomial, ui) k = coef(g)[1] m = coef(g)[2] U = -k/m plot(prop ~ F2, data = ui, ylab = "Proportion /u/-Urteile") curve(exp(m*x + k)/(1+ exp(m*x+k)), add=T, col=2) abline(v = U) abline(h = .5, lty=2) # ============================================ gq = glm(cbind(P, Q) ~ Jahr, quasibinomial, data = lost) anova(gq, test="F")