--- title: "D. ASCA" output: rmarkdown::html_vignette: toc: true vignette: > %\VignetteIndexEntry{D. ASCA} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include=FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width=6, fig.height=4 ) # Legge denne i YAML på toppen for å skrive ut til tex #output: # pdf_document: # keep_tex: true # Original: # rmarkdown::html_vignette: # toc: true ``` ```{r setup} library(multiblock) ``` # ANOVA Simultaneous Component Analysis -- ASCA The following example uses a simulated dataset for showcasing some of the possibilities of the ASCA method. ## Simulated data Two categorical factors and a covariate are simulated together with a standard normal set of 10 responses. ```{r cars} set.seed(1) dataset <- data.frame(y = I(matrix(rnorm(24*10), ncol = 10)), x = factor(c(rep(2,8), rep(1,8), rep(0,8))), z = factor(rep(c(1,0), 12)), w = rnorm(24)) colnames(dataset$y) <- paste('Var', 1:10, sep = " ") rownames(dataset) <- paste('Obj', 1:24, sep = " ") str(dataset) ``` ## Formula interface This ASCA implementation uses R's formula interface for model specification. This means that the first argument is a formula with response on the left and design on the right, separated by a tilde operator, e.g. _y ~ x + z_ or _assessment ~ assessor + candy_. The names in the formula refer to variables in a data.frame (or list). Separation with plus (_+_) adds main effects to the model, while separation by stars (_\*_) adds main effects and interactions, e.g. _y ~ x \* z_. Colons (_:_) can be used for explicit interactions, e.g. _y ~ x + z + x:z_. More complicated formulas exist, but only a simple subset is supported by _asca_. ## ASCA modelling A basic ASCA model having two factors is fitted and printed as follows. ```{r} mod <- asca(y~x+z, data = dataset) print(mod) ``` ## Scores Scores for first factor are extracted and a scoreplot with confidence ellipsoids is produced. ```{r} sc <- scores(mod) head(sc) scoreplot(mod, legendpos = "topleft", ellipsoids = "confidence") ``` This is repeated for the second factor. ```{r} sc <- scores(mod, factor = "z") head(sc) scoreplot(mod, factor = "z", ellipsoids = "confidence") ``` ## Loadings A basic loadingplot for the first factor is generated using graphics from the _pls_ package. ```{r} lo <- loadings(mod) head(lo) loadingplot(mod, scatter = TRUE, labels = 'names') ```