Skip to contents

Tidy Coordinates

Usage

tidy(x, ...)

augment(x, ...)

# S4 method for MultivariateAnalysis
tidy(x, margin = 1, principal = TRUE, ...)

# S4 method for MultivariateAnalysis
augment(x, margin = 1, axes = c(1, 2), principal = TRUE, ...)

Arguments

x

A CA or PCA object.

...

Currently not used.

margin

A length-one numeric vector giving the subscript which the data will be returned: 1 indicates individuals/rows (the default), 2 indicates variables/columns.

principal

A logical scalar: should principal coordinates be returned? If FALSE, standard coordinates are returned.

axes

A length-two numeric vector giving the dimensions to be for which to compute results.

Value

  • tidy() returns a long data.frame with the following columns:

    label

    Row/column names of the original data.

    component

    Component.

    supplementary

    Whether an observation is active or supplementary.

    coordinate

    Coordinates.

    contribution

    Contributions to the definition of the components.

    cos2

    \(cos^2\).

  • augment() returns a wide data.frame of the row/column coordinates along axes and the following columns:

    label

    Row/column names of the original data.

    supplementary

    Whether an observation is active or supplementary.

    mass

    Weight/mass of each observation.

    sum

    Sum of squared coordinates along axes.

    contribution

    Joint contributions to the definition of axes.

    cos2

    Joint \(cos^2\) along axes.

Author

N. Frerebeau

Examples

## Load data
data("iris")

## Compute principal components analysis
X <- pca(iris, scale = TRUE, sup_row = 5:10)
#> 1 qualitative variable was removed: Species.

## Get row principal coordinates
head(get_coordinates(X, margin = 1, principal = TRUE))
#>           F1         F2          F3  .sup
#> 1  -2.385846  0.5084067 -0.12383101 FALSE
#> 2  -2.215654 -0.6515155 -0.23313750 FALSE
#> 3  -2.496566 -0.3169280  0.04974232 FALSE
#> 4  -2.433607 -0.5744432  0.09690301 FALSE
#> 11 -2.279483  1.0742447 -0.26629760 FALSE
#> 12 -2.450871  0.1591839  0.09988982 FALSE

## Get row standard coordinates
head(get_coordinates(X, margin = 1, principal = FALSE))
#>          F1         F2         F3  .sup
#> 1 -1.403075  0.5268995 -0.3142569 FALSE
#> 2 -1.302987 -0.6752138 -0.5916536 FALSE
#> 3 -1.468187 -0.3284560  0.1262355 FALSE
#> 4 -1.431162 -0.5953380  0.2459193 FALSE
#> 5 -1.340525  1.1133193 -0.6758069 FALSE
#> 6 -1.441315  0.1649741  0.2534992 FALSE

## Tidy principal coordinates
head(tidy(X, margin = 1))
#>   label component supplementary coordinate contribution        cos2
#> 1     1        F1         FALSE -2.3858463   1.36709655 0.954033073
#> 2     1        F2         FALSE  0.5084067   0.19279380 0.043321256
#> 3     1        F3         FALSE -0.1238310   0.06858151 0.002570025
#> 4    10        F1          TRUE -2.3173283           NA 0.953213276
#> 5    10        F2          TRUE -0.4448514           NA 0.035127301
#> 6    10        F3          TRUE -0.2525218           NA 0.011319124
head(tidy(X, margin = 2))
#>          label component supplementary coordinate contribution         cos2
#> 1 Petal.Length        F1         FALSE 0.99121597  33.97921607 0.9825091061
#> 2 Petal.Length        F2         FALSE 0.01655680   0.02944324 0.0002741275
#> 3 Petal.Length        F3         FALSE 0.05477927   1.93260521 0.0030007681
#> 4  Petal.Width        F1         FALSE 0.96350955  32.10619376 0.9283506618
#> 5  Petal.Width        F2         FALSE 0.05756108   0.35586957 0.0033132775
#> 6  Petal.Width        F3         FALSE 0.24948796  40.08758618 0.0622442430

head(augment(X, margin = 1, axes = c(1, 2)))
#>          F1         F2 label supplementary        mass      sum contribution
#> 1 -2.385846  0.5084067     1         FALSE 0.006944444 5.950740     4.132458
#> 2 -2.215654 -0.6515155     2         FALSE 0.006944444 5.333593     3.703884
#> 3 -2.496566 -0.3169280     3         FALSE 0.006944444 6.333284     4.398114
#> 4 -2.433607 -0.5744432     4         FALSE 0.006944444 6.252426     4.341962
#> 5 -2.279483  1.0742447    11         FALSE          NA 6.350046     4.409754
#> 6 -2.450871  0.1591839    12         FALSE          NA 6.032107     4.188963
#>        cos2
#> 1 0.9973543
#> 2 0.9880287
#> 3 0.9995093
#> 4 0.9977072
#> 5 0.9889258
#> 6 0.9951651
head(augment(X, margin = 2, axes = c(1, 2)))
#>           F1         F2        label supplementary mass       sum contribution
#> 1  0.8875399 0.36087785 Sepal.Length         FALSE    1 0.9179599     91.79599
#> 2 -0.4392190 0.89286998  Sepal.Width         FALSE    1 0.9901302     99.01302
#> 3  0.9912160 0.01655680 Petal.Length         FALSE    1 0.9827832     98.27832
#> 4  0.9635096 0.05756108  Petal.Width         FALSE    1 0.9316639     93.16639
#>        cos2
#> 1 0.9179599
#> 2 0.9901302
#> 3 0.9827832
#> 4 0.9316639