| kdist2ktab {ade4} | R Documentation |
The function creates a ktab object with the Euclidean representations from a kdist object. Notice that the euclid attribute must be TRUE for all elements.
kdist2ktab(kd, scale = TRUE, tol = 1e-07)
kd |
an object of class kdist |
scale |
a logical value indicating whether the inertia of Euclidean representations are equal to 1 (TRUE) or not (FALSE). |
tol |
a tolerance threshold, an eigenvalue is considered equal to zero if eig$values > (eig$values[1 * tol) |
returns a list of class ktab containing for each distance of kd the data frame of its Euclidean representation
Daniel Chessel
Anne B Dufour dufour@biomserv.univ-lyon1.fr
data(friday87)
fri.w <- ktab.data.frame(friday87$fau, friday87$fau.blo,
tabnames = friday87$tab.names)
fri.kd <- lapply(1:10, function(x) dist.binary(fri.w[[x]], 10))
names(fri.kd) <- substr(friday87$tab.names, 1, 4)
fri.kd <- kdist(fri.kd)
fri.ktab = kdist2ktab(kd = fri.kd)
fri.sepan = sepan(fri.ktab)
plot(fri.sepan, csub = 3)
tapply(fri.sepan$Eig, fri.sepan$TC[,1], sum)
# the sum of the eigenvalues is constant and equal to 1, for each K tables
fri.statis <- statis(fri.ktab, scan = FALSE, nf = 2)
round(fri.statis$RV, dig = 2)
fri.mfa <- mfa(fri.ktab, scan = FALSE, nf = 2)
fri.mcoa <- mcoa(fri.ktab, scan = FALSE, nf = 2)
apply(fri.statis$RV, 1, mean)
fri.statis$RV.tabw
plot(apply(fri.statis$RV, 1, mean), fri.statis$RV.tabw)
plot(fri.statis$RV.tabw, fri.statis$RV.tabw)
> library(ade4) > ### Name: kdist2ktab > ### Title: Transformation of K distance matrices (object 'kdist') into K > ### Euclidean representations (object 'ktab') > ### Aliases: kdist2ktab > ### Keywords: multivariate > > ### ** Examples > > data(friday87) > fri.w <- ktab.data.frame(friday87$fau, friday87$fau.blo, + tabnames = friday87$tab.names) > fri.kd <- lapply(1:10, function(x) dist.binary(fri.w[[x]], 10)) > names(fri.kd) <- substr(friday87$tab.names, 1, 4) > fri.kd <- kdist(fri.kd) > fri.ktab = kdist2ktab(kd = fri.kd) > fri.sepan = sepan(fri.ktab) > plot(fri.sepan, csub = 3)

>
> tapply(fri.sepan$Eig, fri.sepan$TC[,1], sum)
1 2 3 4 5 6 7 8 9 10
1 1 1 1 1 1 1 1 1 1
> # the sum of the eigenvalues is constant and equal to 1, for each K tables
>
> fri.statis <- statis(fri.ktab, scan = FALSE, nf = 2)
> round(fri.statis$RV, dig = 2)
Hemi Odon Tric Ephe Cole Dipt Hydr Mala Moll Olig
Hemi 1.00 0.84 0.89 0.72 0.93 0.91 0.94 0.87 0.90 0.87
Odon 0.84 1.00 0.86 0.71 0.86 0.88 0.85 0.83 0.87 0.81
Tric 0.89 0.86 1.00 0.82 0.93 0.93 0.91 0.89 0.92 0.89
Ephe 0.72 0.71 0.82 1.00 0.73 0.83 0.74 0.81 0.83 0.79
Cole 0.93 0.86 0.93 0.73 1.00 0.94 0.94 0.89 0.92 0.87
Dipt 0.91 0.88 0.93 0.83 0.94 1.00 0.92 0.91 0.94 0.89
Hydr 0.94 0.85 0.91 0.74 0.94 0.92 1.00 0.88 0.93 0.86
Mala 0.87 0.83 0.89 0.81 0.89 0.91 0.88 1.00 0.92 0.86
Moll 0.90 0.87 0.92 0.83 0.92 0.94 0.93 0.92 1.00 0.86
Olig 0.87 0.81 0.89 0.79 0.87 0.89 0.86 0.86 0.86 1.00
>
> fri.mfa <- mfa(fri.ktab, scan = FALSE, nf = 2)
> fri.mcoa <- mcoa(fri.ktab, scan = FALSE, nf = 2)
>
> apply(fri.statis$RV, 1, mean)
Hemi Odon Tric Ephe Cole Dipt Hydr Mala
0.8870267 0.8491046 0.9042958 0.7980208 0.9019560 0.9153542 0.8969580 0.8862786
Moll Olig
0.9084652 0.8693471
> fri.statis$RV.tabw
[1] 0.3182568 0.3042336 0.3241214 0.2849738 0.3236518 0.3281335 0.3218042
[8] 0.3176219 0.3256389 0.3114247
> plot(apply(fri.statis$RV, 1, mean), fri.statis$RV.tabw)

> plot(fri.statis$RV.tabw, fri.statis$RV.tabw)

> > > >