Guillermo Vinué
30 de Abril de 2014
Presentaciones de becarios/as.
Instituto de Biomecánica de Valencia.
#Cargar el paquete:
library(Anthropometry)
#Funciones básicas:
library(help="Anthropometry")
help(package="Anthropometry")
data(package="Anthropometry")
vignette("Anthropometry",
package="Anthropometry")
citation("Anthropometry")
#Base de datos (mirar ?dataDemo).
dataDef <- dataDemo
#Número de variables antropométricas:
num.variables <- dim(dataDef)[2]
#Medidas del contorno de busto:
bust <- dataDef$bust
#Cálculo de los pesos OWA
#(mirar ?WeightsMixtureUB):
orness <- 0.7
w <- WeightsMixtureUB(orness,num.variables)
Ref.: Ibañez M. V., Vinué G., Alemany S., Simó A., Epifanio I., Domingo J., Ayala G., Apparel sizing using trimmed PAM and OWA operators, Expert Systems with Applications 39, 2012.
#Definición de las tallas de busto de
#acuerdo a la Normativa Europea
#UNE 13402-3-2004:
bustCirc_4 <- seq(74,102,4)
bustCirc_6 <- seq(107,131,6)
bustCirc <- c(bustCirc_4,bustCirc_6)
#Número de tallas:
nsizes <- length(bustCirc)
Busto | 74-78 | 78-82 | 82-86 | 86-90 | 90-94 | 94-98 |
---|---|---|---|---|---|---|
Busto | 98-102 | 102-107 | 107-113 | 113-119 | 119-125 | 125-131 |
#Parámetros para el cálculo de prototipos
#mediante el algoritmo trimowa
#(mirar ?trimowa):
K <- 3 ; alpha <- 0.01
niter <- 6 ; Ksteps <- 7
ahVect <- c(23,28,20,25,25)
#Cálculo de prototipos mediante el
#algoritmo trimowa:
res_trimowa <- list()
for (i in 1 : (nsizes-1)){
data <- dataDef[(bust >= bustCirc[i])
& (bust < bustCirc[i+1]),]
res_trimowa[[i]] <- trimowa(data,w,K,alpha,
niter,Ksteps,
ahVect=ahVect)
}
#Prototipos (medoides) obtenidos para cada
#talla:
medoids <- list()
for (i in 1 : (nsizes-1)){
medoids[[i]] <- res_trimowa[[i]]$meds
}
#Para representar las medidas de busto y
#nuca-tierra de los medoides obtenidos:
bustVariable <- "bust"
xlim <- c(70,150)
variable <- "necktoground"
ylim = c(110,160)
#ver range(dataDef[,variable]).
#Color de los medoides para cada talla:
color <- c("black","red","green", "blue",
"cyan","brown","gray","deeppink3",
"orange","springgreen4","khaki3",
"steelblue1")
#Título del gráfico:
title <- "Medoids \n bust vs neck to ground"
#Busto vs nuca-tierra de los medoides
#obtenidos:
plotMedoids(dataDef,medoids,nsizes,
bustVariable,variable,
color,xlim,ylim,title,FALSE)
#Busto vs nuca-tierra de los medoides
#obtenidos, junto con las tallas estándar.
plotMedoids(dataDef,medoids,nsizes,
bustVariable,variable,
color,xlim,ylim,title,TRUE)
#Base de datos (mirar ?dataUSAF).
m <- dataUSAF
#Variables (Zehner et al. (1993)):
sel <- c(48,40,39,33,34,36)
#Cambio a pulgadas y selección
#de los primeros 50 individuos:
mpulg <- m[1:50,sel] / (10 * 2.54)
#Preprocesamiento de los datos
#(posible estandarización y
#porcentaje de acomodación, mirar
#?accommodation):
preproc <- accommodation(mpulg,TRUE,
0.95,TRUE)
#Cálculo de 1 hasta 10 arquetipos.
#Semilla para obtener siempre los mismos
#resultados:
set.seed(2010)
numArch <- 10 ; nrep <- 3
#Mirar ?stepArchetypesMod.
lass <- stepArchetypesMod(data=preproc$data,
k=1:numArch,
verbose=FALSE,
nrep=nrep)
#Cálculo de 3 arquetipoides
#(mirar ?archetypoids):
i <- 3
res <- archetypoids(i,preproc$data,huge=200,
step=FALSE,ArchObj=lass,
nearest=TRUE,sequ=TRUE)
#Base de datos de los individuos acomodados:
aux <- mpulg[setdiff(1:dim(mpulg)[1],
preproc$indivNo),]
rownames(aux) <- 1:dim(preproc$data)[1]
#Representación del primer arquetipoide:
skeletonsArchet(aux[res[[1]][1],],
"Archetypoid 1")
MUCHAS GRACIAS POR LA ATENCIÓN