Nothing
context("discriminant analysis methods")
test_that("lda works correctly", {
Agestrg <- substring(AbaloneIdt@ObsNames,first=3)
AbalClass <- factor(ifelse(Agestrg=="1-3"|Agestrg=="4-6"|Agestrg=="7-9","Young",
ifelse(Agestrg=="10-12"|Agestrg=="13-15"|Agestrg=="16-18","Adult","Old")
)
)
ldares <- lda(AbaloneIdt,AbalClass)
ldapred <- predict(ldares,AbaloneIdt)
PPsums <- rowSums(ldapred$posterior)
names(PPsums) <- NULL
expect_equal( PPsums, rep(1.,nrow(AbaloneIdt)) )
PPpred <- as.factor(levels(AbalClass)[apply(ldapred$posterior,1,which.max)])
names(PPpred) <- rownames(AbaloneIdt)
expect_equal(PPpred,ldapred$class)
Trueldapred <- factor(c("Adult","Adult","Adult","Old","Old","Old","Young","Young","Young","Adult","Adult","Adult",
"Old","Young","Young","Young","Adult","Adult","Adult","Old","Old","Old","Young","Young"))
names(Trueldapred) <- rownames(AbaloneIdt)
expect_equal(Trueldapred,ldapred$class)
} )
test_that("qda works correctly", {
Agestrg <- substring(AbaloneIdt@ObsNames,first=3)
AbalClass <- factor(ifelse(Agestrg=="1-3"|Agestrg=="4-6"|Agestrg=="7-9","Young",
ifelse(Agestrg=="10-12"|Agestrg=="13-15"|Agestrg=="16-18","Adult","Old")
)
)
qdares <- qda(AbaloneIdt[,2],AbalClass) # Note: using lower-dimensionality data set in order to avoid singular covariance matrices
qdapred <- predict(qdares,AbaloneIdt[,2])
PPsums <- rowSums(qdapred$posterior)
names(PPsums) <- NULL
expect_equal( PPsums, rep(1.,nrow(AbaloneIdt)) )
PPpred <- as.factor(levels(AbalClass)[apply(qdapred$posterior,1,which.max)])
names(PPpred) <- rownames(AbaloneIdt[,2])
expect_equal(PPpred,qdapred$class)
Trueqdapred <- factor(c("Adult","Old","Old","Old","Old","Old","Young","Young","Young","Young","Young","Adult",
"Adult","Young","Young","Young","Adult","Adult","Old","Old","Old","Old","Young","Young"))
names(Trueqdapred) <- rownames(AbaloneIdt)
expect_equal(Trueqdapred,qdapred$class)
} )
test_that("leave-one-out cross-validation works correctly", {
Agestrg <- substring(AbaloneIdt@ObsNames,first=3)
AbalClass <- factor(ifelse(Agestrg=="1-3"|Agestrg=="4-6"|Agestrg=="7-9","Young",
ifelse(Agestrg=="10-12"|Agestrg=="13-15"|Agestrg=="16-18","Adult","Old")
)
)
looldares <- DACrossVal(AbaloneIdt,AbalClass,lda,loo=TRUE)
Nk <- colSums(looldares[,,"Nk"])
TrueNk <- as.numeric(table(AbalClass))
names(TrueNk) <- levels(AbalClass)
expect_equal(Nk,TrueNk)
looerrors <- colSums(looldares[,,"Nk"] * looldares[,,"Clerr"], na.rm=TRUE)
Turelooerrors <- c(2,3,4)
names(Turelooerrors) <- levels(AbalClass)
expect_equal(Turelooerrors,looerrors)
looerrest <- looerrors /Nk
Glooerrest <- sum(looerrors)/sum(Nk)
names(Glooerrest) <- "Global"
expect_equal(c(looerrest,Glooerrest),attr(looldares,"errestimates"))
} )
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.