## First example with plsda
data(liver.toxicity)
X = as.matrix(liver.toxicity$gene)
Y = as.factor(liver.toxicity$treatment[,4] )
# if training is perfomed on 4/5th of the original data
samp = sample(1:5, nrow(X), replace = TRUE)
test = which(samp == 1) # testing on the first fold
train = setdiff(1:nrow(X), test)
plsda.train = plsda(X[train,], Y[train], ncomp = 1, mode = 'regression')
test.predict = predict(plsda.train, X[test,], method = "class.dist")
test.predict$cl
## Second example with splsda
data(liver.toxicity)
X = as.matrix(liver.toxicity$gene)
Y = as.factor(liver.toxicity$treatment[,4]) # time points
# if training is perfomed on 4/5th of the original data
samp = sample(1:5, nrow(X), replace = TRUE)
test = which(samp == 1) # testing on the first fold
train = setdiff(1:nrow(X), test)
splsda.train = splsda(X[train,], Y[train], ncomp = 1, keepX = 20, mode = 'regression')
test.predict = predict(splsda.train, X[test,], method = "class.dist")
test.predict$cl
Run the code above in your browser using DataLab