load("~/scripts/day4/tumorCellLines_anova.RData")
coln <- colnames(tumorCellLines)
coln_split <- strsplit(coln, split = "\\.")
cancerType <- sapply(coln_split, function(x) x[1])
fac <- factor(cancerType)
dirtyHack <- function(list_fac) {
return(function(x) {
return(data.frame(expr = as.numeric(x), CancerType = list_fac))
})
}
anovaDo <- function(x) {
aov(expr ~ CancerType, data = x)
}
givesStuff <- dirtyHack(fac)
bb <- apply(tumorCellLines, 1, givesStuff)
cc <- lapply(bb, anovaDo)
givesP <- function(x) {
summary(x)[[1]][["Pr(>F)"]][1]
}
allp <- lapply(cc, givesP)
length(allp[as.numeric(allp) < 0.05])
## [1] 3700
bon <- p.adjust(allp, method = "bonferroni")
bh <- p.adjust(allp, method = "BH")
bon.df <- as.data.frame(bon)
bh.df <- as.data.frame(bh)
bh.df$sig <- as.factor(bh.df[, 1] < 0.05)
bon.df$sig <- as.factor(bon.df[, 1] < 0.05)
dim(bh.df[(bh.df[, 1] < 0.05), ])
## [1] 3328 2
dim(bon.df[(bon.df[, 1] < 0.05), ])
## [1] 576 2
library(MASS)
data(crabs)
aovFL <- aov(formula = FL ~ sp + sex + sex * sp, data = crabs)
aovRW <- aov(formula = RW ~ sp + sex + sex * sp, data = crabs)
aovCL <- aov(formula = CL ~ sp + sex + sex * sp, data = crabs)
aovCW <- aov(formula = CW ~ sp + sex + sex * sp, data = crabs)
aovBD <- aov(formula = BD ~ sp + sex + sex * sp, data = crabs)
summary(aovFL)
## Df Sum Sq Mean Sq F value Pr(>F)
## sp 1 466 466 48.63 4.6e-11 ***
## sex 1 5 5 0.48 0.4913
## sp:sex 1 81 81 8.41 0.0042 **
## Residuals 196 1880 10
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(aovRW)
## Df Sum Sq Mean Sq F value Pr(>F)
## sp 1 131 131.4 25.3 1.1e-06 ***
## sex 1 112 112.1 21.6 6.1e-06 ***
## sp:sex 1 58 58.0 11.2 0.00099 ***
## Residuals 196 1016 5.2
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(aovCL)
## Df Sum Sq Mean Sq F value Pr(>F)
## sp 1 838 838 18.58 2.6e-05 ***
## sex 1 111 111 2.46 0.118
## sp:sex 1 293 293 6.50 0.012 *
## Residuals 196 8843 45
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(aovCW)
## Df Sum Sq Mean Sq F value Pr(>F)
## sp 1 576 576 10.06 0.0018 **
## sex 1 68 68 1.19 0.2762
## sp:sex 1 455 455 7.94 0.0053 **
## Residuals 196 11232 57
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(aovBD)
## Df Sum Sq Mean Sq F value Pr(>F)
## sp 1 419 419 44.31 2.8e-10 ***
## sex 1 19 19 1.99 0.160
## sp:sex 1 42 42 4.48 0.035 *
## Residuals 196 1854 9
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
crabs.df <- crabs[, -3]
# crabs.df$GRP <-
# as.factor(paste(as.character(crabs.df$sp),as.character(crabs.df$sex),sep=''))
Das hier ist echt interessant, Modell an den pairwise Tukey üebrgeben
### man kann sachen übergeben
TukeyHSD(aovBD)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = BD ~ sp + sex + sex * sp, data = crabs)
##
## $sp
## diff lwr upr p adj
## O-B 2.895 2.037 3.753 0
##
## $sex
## diff lwr upr p adj
## M-F 0.613 -0.2447 1.471 0.1603
##
## $`sp:sex`
## diff lwr upr p adj
## O:F-B:F 3.816 2.22218 5.4098 0.0000
## B:M-B:F 1.534 -0.05982 3.1278 0.0640
## O:M-B:F 3.508 1.91418 5.1018 0.0000
## B:M-O:F -2.282 -3.87582 -0.6882 0.0015
## O:M-O:F -0.308 -1.90182 1.2858 0.9588
## O:M-B:M 1.974 0.38018 3.5678 0.0084
mi <- TukeyHSD(aovBD)
# pairwise.t.test(aovBD, c('O','B'))
# pairwise.t.test(crabs.df$CL,crabs.df$GRP)
# t<-melt(crabs.df, id=c('sp','sex'))