You are on page 1of 15

Revista Colombiana de Estadstica

Volumen 30 No. 2. pp. 231 a 245. Diciembre 2007

Combinacin de mtodos factoriales y de anlisis


de conglomerados en R: el paquete FactoClass
Combination of Factorial Methods and Cluster Analysis in R: The
Package FactoClass

Campo Elas Pardo a , Pedro Csar Del Campo b

Departamento de Estadstica, Facultad de Ciencias, Universidad Nacional de


Colombia, Bogot, Colombia

Resumen
Se presenta el paquete de R FactoClass, donde se implementa la estra-
tegia descrita en Lebart et al. (1995), que combina mtodos factoriales con
anlisis de conglomerados, en la exploracin multivariada de tablas de datos.
Se utilizan funciones de ade4 (Chessel et al. 2004) para realizar el anlisis
factorial de los datos y de stats para el anlisis de conglomerados. Se crean
funciones para tareas especficas y se modifican algunas de las existentes. Se
describen los pasos para crear FactoClass en ambiente Windows y se ilustra
el uso del paquete con un ejemplo.
Palabras clave: software estadstico, anlisis multivariado, anlisis en com-
ponentes principales, anlisis de correspondencias, K-medias, clasificacin
jerrquica, LATEX.

Abstract
The new R package FactoClass to combine factorial methods and clus-
ter analysis is presented. This package is implemented in order to perform a
multivariate exploration of a data table according to Lebart et al. (1995). We
use some ade4 functions (Chessel et al. 2004) to perform the factorial analy-
sis of the data and some stats functions in R to perform cluster methods.
Some new functions are programmed to make specific tasks and another old
ones are modified. We describe the implementation of FactoClass in the
Windows environment and illustrate its use with an example.
Key words: Statistical software, Multivariate analysis, Principal compo-
nents analysis, Correspondence analysis, K-means clustering, Hierarchical
clustering, LATEX.
a Profesor asociado. E-mail: cpardot@unal.edu.co
b Estadstico. E-mail: pcdelcampon@unal.edu.co

231
232 Campo Elas Pardo & Pedro Csar Del Campo

1. Introduccin
En este documento el trmino clasificacin se utiliza como sinnimo de anlisis
o formacin de conglomerados o clasificacin no supervisada. En ningn momento
hace referencia a la clasificacin supervisada o discriminacin, la cual no est
incluida en el paquete construido.
Para el anlisis de una tabla de datos haciendo uso de mtodos multivariados,
Lebart et al. (1995) presentan una estrategia que consiste en realizar primero un
anlisis factorial segn la naturaleza de los datos y luego una clasificacin basada
en un algoritmo mixto: clasificacin jerrquica con el mtodo de Ward y agregacin
alrededor de centros mviles (K-medias). Finalmente se obtiene una particin del
conjunto de datos y la caracterizacin de cada una de las clases, segn las variables
activas e ilustrativas, ya sean cuantitativas o cualitativas.
Para la caracterizacin de las clases se utilizan los valores test, que son ndices
descriptivos construidos siguiendo la metodologa de pruebas de hiptesis, pero sin
el objetivo de hacer inferencias. La ordenacin de los valores test dentro de cada
clase permite obtener las variables continuas que la caracterizan positivamente,
en el sentido de que la media de la clase es suficientemente mayor de la media
global, o negativamente cuando la media de la clase es inferior. Para las categoras
de variables nominales, la ordenacin permite obtener aquellas categoras cuya
proporcin dentro de la clase se diferencia lo suficiente de la proporcin global, ya
sea porque es mayor (valor test positivo) o menor (valor test negativo).
Para la puesta en prctica de la estrategia mencionada utilizando el lengua-
je R (R Development Core Team 2007a) se programa el paquete denominado
FactoClass, el cual utiliza funciones de ade4 (Chessel et al. 2004) para reali-
zar el anlisis factorial de los datos y de stats para los mtodos de clasificacin.
Se programan las funciones complementarias que se requieren, incluyendo algunas
para producir salidas en formato LATEX1 , utilizando el paquete xtable (Dahl 2006).
FactoClass permite obtener salidas similares a las que aparecen en los programas
estadsticos SPAD (Lebart et al. 1999) y DTM (Lebart 2007).
La creacin de paquetes portables facilita la labor acadmica cuando se utiliza
R como lenguaje para la ejecucin de los mtodos estadsticos. Un paquete es
til aun cuando no se requiera la programacin de nuevas funciones, ya que se
pueden incluir tablas de datos y lneas de comandos para los talleres de un curso.
Por ejemplo el texto de Dalgaard (2002) tiene asociado el paquete ISwR (Dalgaard
2005), que incluye las tablas de datos y las lneas de programacin para los ejemplos
incluidos en el texto.
De nuestra experiencia en la creacin del paquete en ambiente Windows, des-
cribimos los aspectos en los que tuvimos especial dificultad, ya que nos parece til
para quienes deseen hacer paquetes portables (ver apndice A).
En la seccin 2 se resume la estrategia de anlisis combinando los mtodos,
luego, en la seccin 3 se describe el paquete, y finalmente se ilustra su utilizacin
con un ejemplo, en la seccin 4.
1 MiKT
EX project page: http://www.miktex.org/ Ver por ejemplo De Castro (2003).

Revista Colombiana de Estadstica 30 (2007) 231245


Combinacin de mtodos factoriales y de anlisis de conglomerados en R 233

2. Estrategia combinada de un mtodo factorial y


formacin de conglomerados
La estrategia descrita en Lebart et al. (1995) sigue los pasos que se muestran en
la figura 1. En esta seccin aparecen las frmulas que sustentan alguna modificacin
de una funcin existente o la programacin de una funcin nueva para FactoClass.

Figura 1: Diagrama de flujo de la estrategia combinada de anlisis factorial y mtodos


de clasificacin. Si el nmero n de elementos por clasificar sobrepasan el
umbral nmax , se realiza un agrupamiento antes de la clasificacin jerrquica.

2.1. Anlisis factorial


FactoClass utiliza el paquete estadstico ade4 (Chessel et al. 2004) para rea-
lizar el anlisis factorial de los datos, en particular las funciones:

dudi.pca: anlisis de componentes principales (ACP),


dudi.coa: anlisis de correspondencias simples (ACS),
dudi.acm: anlisis de correspondencias mltiples (ACM),
witwit.coa: anlisis de correspondencias interno (ACI) (Cazes et al. 1988).

Revista Colombiana de Estadstica 30 (2007) 231245


234 Campo Elas Pardo & Pedro Csar Del Campo

Estas funciones retornan un objeto de tipo dudi con los valores y vectores pro-
pios y las coordenadas factoriales de las filas y columnas. Las dems ayudas a la
interpretacin se obtienen con la funcin inertia.dudi.
Las funciones dudi de ade4 reciben los datos en un objeto data.frame y uti-
lizan todas las columnas como activas.
El paquete ade4 tiene varias funciones para obtener los planos factoriales; sin
embargo en FactoClass se incluye la funcin planfac que recibe un objeto dudi
y produce un plano factorial similar a los del paquete FactoMineR (Husson et al.
2007) o a los de ade4. Para la programacin de esta funcin se tomaron partes de
las funciones de estos dos paquetes.

2.2. Clasificacin a partir de los factores


La utilizacin de las coordenadas factoriales permite tener un marco comn en
el proceso de formacin de conglomerados. Para el proceso de clasificacin el an-
lisis factorial previo se constituye en un pretratamiento, que transforma los datos
originales en variables continuas no correlacionadas. Tomar todos los factores para
la formacin de conglomerados es equivalente a efectuar una clasificacin de las
filas de la tabla de datos utilizando las variables originales. Tomar menos factores
implica realizar un filtrado: se supone que los ejes utilizados para la clasificacin
tienen la informacin relevante y que los desechados se deben a las fluctuaciones
aleatorias que constituyen el ruido. El diagrama de valores propios orienta la de-
cisin del nmero de ejes que se utilizan en la clasificacin. Algunas veces, sobre
todo en tablas pequeas, se usan todos los ejes.

2.3. El mtodo de Ward


El mtodo de Ward utiliza la distancia entre clases que cumple con el objetivo
de unir, en cada paso del proceso de aglomeracin, las dos clases que incrementen
menos la inercia intraclases.
Sean A y B dos clases no vacas y disjuntas y sean pA , pB y gA , gB sus pesos y
centros de gravedad, respectivamente. La distancia de Ward entre los dos grupos,
en funcin de la distancia euclidiana cannica d, viene dada por:
pA pB 2
W (A, B) = d (gA gB ) (1)
pA + pB

(la deduccin se puede ver en Pardo 1992).


En particular para dos individuos i y l, con pesos pi y pl , la distancia de
Ward es:
pi pl 2
W (i, l) = d (i, l) (2)
pi + pl

En FactoClass se crea la funcin ward.cluster, la cual transforma la distan-


cia euclidiana en distancia de Ward utilizando la frmula (2) y llama la funcin
hclust del paquete bsico stats. En ward.cluster se incluye una grfica de

Revista Colombiana de Estadstica 30 (2007) 231245


Combinacin de mtodos factoriales y de anlisis de conglomerados en R 235

los ndices de nivel para facilitar la decisin de cuntas clases seleccionar para la
particin.

2.4. El algoritmo K-medias


Este algoritmo para la obtencin de una particin directa de un conjunto de
individuos por variables cuantitativas requiere el nmero de clases por obtener y
de puntos iniciales para cada una de ellas. La propuesta de Lebart et al. (1995) es
utilizarlo para obtener una particin que minimice la inercia intraclases. Esto se
logra localmente (depende de los puntos iniciales) usando la distancia euclidiana
cannica entre los individuos y los centros mviles utilizados para la agregacin.
En cada paso del algoritmo se actualizan los centros mviles calculando los centros
de gravedad de la particin obtenida del paso anterior.
Para una clase k, conformada por el conjunto de individuos Ik con pesos pi y
coordenadas sobre el eje s notadas Fs (i), el trmino general de la coordenada de
su centro de gravedad sobre un eje factorial s es:
X
gs (k) = pi Fs (i) (3)
iIk

y su inercia intra en el subespacio de los S primeros ejes factoriales es:


X S
X
InerciaIntra(k) = pi (Fs (i) gs (k))2 (4)
iIk s=1

La funcin kmeans de stats no maneja pesos distintos para las filas. Estos
pesos influyen en los centros de gravedad (3) y en las inercias intra de las clases
(4). Se modifica entonces esta funcin para incluir los pesos de las filas y obtener
las inercias intra clases; se nombra kmeansW. En su opcin por defecto la funcin
kmeans utiliza el algoritmo de Hartigan & Wong (1979) programado en Fortran
con el nombre kmns.f, funcin que se modifica dndole el nombre de kmnsw.f. Las
lneas de programacin modificadas cambian los clculos de centros de gravedad
y suma de cuadrados intra-clase por los de las frmulas (3) y (4).

2.5. Caracterizacin de las clases


Para seleccionar las variables continuas o las categoras de las variables nomi-
nales ms caractersticas de cada clase, se mide la desviacin entre los valores rela-
tivos a la clase y los valores globales, utilizando los valores test (Lebart et al. 1995,
pp.181-184):

Variable continua en una clase. Para una variable continua X, con media
general X, el valor test asociado a la media X k de la clase k es:
Xk X
tk (X) = r (5)
n nk
SX
(n 1)nk

Revista Colombiana de Estadstica 30 (2007) 231245


236 Campo Elas Pardo & Pedro Csar Del Campo

donde SX es la desviacin estandar de la variable X en todo el conjunto de datos,


n el nmero de individuos clasificados y nk el nmero de individuos dentro de
la clase k.

Categora en una clase. En una clase k conformada por nk individuos, de los


n clasificados, nkj tienen la modalidad j. El valor test para j en la clase k se
obtiene con un modelo hipergeomtrico: de una urna con n bolas, de las cuales
nj son bolas negras, se extrae una muestra de nk bolas y se obtienen nkj bolas
negras. Si N es la variable aleatoria que designa la cantidad de bolas negras en
una muestra de tamao nk , el valor p asociado al supuesto de extraccin aleatoria,
cuando la frecuencia relativa de la categora j en la clase es mayor que la frecuencia
global, es:
min(nk ,nj )
X
V alorpk (j) = P rob(N nkj ) = h(x; n, nj , nk ) (6)
x=njk

donde h(x; n, nj , nk ) es la distribucin de probabilidad hipergeomtrica de par-


metros n, nj y nk calculada en x. Si la frecuencia relativa de la categora j dentro
de la clase k es menor que la global, entonces el valor p es:

V alorpk (j) = P rob(N nkj ) = H(nkj ; n, nj , nk ) (7)

donde H(nkj ; n, nj , nk ) es la funcin de distribucin de probabilidad hipergeom-


trica acumulada, evaluada en nkj .
El valor test se obtiene buscando el cuantil de la normal estndar correspon-
diente al valor p calculado mediante (6) o (7).
Para la caracterizacin de las clases, se incluye la funcin cluster.carac,
donde se calculan los valores test con las frmulas descritas en esta seccin y se
retorna un objeto list con informacin similar a la que se obtiene en los programas
SPAD (Lebart et al. 1999) y DTM (Lebart 2007).

2.6. Algoritmo de clasificacin mixta


La propuesta descrita en Lebart et al. (1995) aprovecha las ventajas del mtodo
de Ward y las del K-medias, combinndolos de la manera siguiente:

1. Clasificacin inicial. Si la cantidad de individuos por clasificar es muy alta,


es probable que la clasificacin jerrquica no se pueda ejecutar directamente.
Entonces se efecta esta primera etapa, la cual busca obtener rpidamente y
a bajo costo una particin de los individuos en s clases homogneas, donde
s es mucho mayor que el nmero de clases deseado en la poblacin, y menor
que la cantidad de individuos. Se emplea el algoritmo de agregacin alrededor
de centros mviles (K-medias).
Se utiliza la funcin modificada kmeansW, dando el nmero de clases, con lo
cual los centros iniciales se establecen al azar.

Revista Colombiana de Estadstica 30 (2007) 231245


Combinacin de mtodos factoriales y de anlisis de conglomerados en R 237

2. Agregacin jerrquica con el mtodo de Ward. Se efecta una clasificacin as-


cendente jerrquica donde los elementos terminales del rbol son las s clases
de la particin inicial o los individuos directamente. El rbol correspondiente
se construye segn el criterio de Ward, el cual une en cada paso de agregacin
las dos clases que incrementen lo menos posible la inercia intraclases.
Se hace con la nueva funcin cluster.ward luego de calcular las distancias
entre filas o entre las clases previas obtenidas en 1.

3. Corte del rbol. El rbol o dendrograma que resume el procedimiento de


clasificacin permite ver la estructura de clases de los individuos que son
objeto de anlisis. En el grfico de ndices de nivel es ms fcil observar los
cambios de inercia ms grandes (saltos) y decidir el nmero de clases K.
Se consigue con la funcin cutree de stats. Para el paso siguiente es nece-
sario calcular los pesos y centros de gravedad de las clases obtenidas.

4. Consolidacin de la clasificacin. La particin obtenida en el paso anterior


no es ptima siempre, debido a la estructura de particiones anidadas del
dendrograma obtenido. Para mejorarla se utiliza de nuevo un procedimiento
de agregacin alrededor de centros mviles (K-medias), utilizando los centros
de gravedad de las clases obtenidas al cortar el rbol como centros iniciales.
De nuevo se utiliza kmeansW, pero dando los centros de gravedad del paso
anterior como puntos iniciales.

2.7. Identificacin de las clases sobre los planos factoriales


Los centros de gravedad de las clases se pueden proyectar sobre los planos
factoriales, y los individuos de cada clase se pueden diferenciar mediante signos o
colores.
La funcin construida plot.FactoClas recibe un objeto de tipo FactoClass
y produce el plano factorial solicitado.

3. Descripcin del paquete FactoClass


La funcin FactoClass realiza la estrategia completa sin incluir el plano facto-
rial con las clases, ni las salidas en formato LATEX. Sin embargo algunas funciones
se pueden utilizar separadamente. Por ejemplo la funcin cluster.carac se puede
usar para caracterizar la particin asociada a una variable nominal con variables
continuas y nominales presentes en una tabla de datos.
Las funciones del paquete FactoClass se presentan en la tabla 1 y los datos
de ejemplos incluidos se relacionan en la tabla 2.
No es necesario extenderse ms en la descripcin del paquete, ya que luego de
instalado y cargado se puede obtener la ayuda para todas las funciones utilizando
? y el nombre de la funcin; por ejemplo ?cluster.carac.

Revista Colombiana de Estadstica 30 (2007) 231245


238 Campo Elas Pardo & Pedro Csar Del Campo

Tabla 1: Funciones y su descripcin del paquete FactoClass.


Funcin Descripcin
Fac.Num Divisin de variables cualitativas y cuantitativas.
list.to.data list a data.frame.
planfac Grfico de planos factoriales.
dudi.tex Tabla de coordenadas y ayudas para la interpretacin de los ejes
principales de un objeto dudi en formato LATEX utilizando xtable
(Dahl 2006).
ward.cluster Tabla de coordenadas, ayudas de interpretacin de los ejes prin-
cipales. Clasificacin jerrquica por mtodo de Ward (2.3).
kmeansW Realiza K-medias teniendo en cuenta las ponderaciones de los
individuos (2.4).
cluster.carac Caracterizacin de las clases segn variables (2.5).
FactoClass Combinacin de mtodos factoriales y de clasificacin no supervi-
sada (2).
FactoClass.tex Tabla de coordenadas, ayudas para la interpretacin de los ejes
principales y mtodos de clasificacin en LATEX.
plot.FactoClass Grfico de planos factoriales con clasificacin para objetos
FactoClass.

Tabla 2: Tablas de FactoClass.


Tabla Descripcin
Bogota Localidades por estrato en la ciudad de Bogot
colores Asociaciones entre colores y adjetivos
perros Razas de perros
Vietnam Opinin de los estudiantes estadounidenses sobre la guerra de
Vietnam

4. Ejemplo: descripcin de las manzanas de Bogot


segn estratos socioeconmicos
Objetivo. Comparar las 19 localidades de Bogot segn la distribucin de sus
manzanas en los seis estratos socioeconmicos. En Colombia se estratifican las
manzanas de las ciudades en seis estratos, siendo el primero el de menor nivel
socioeconmico.

Los datos. La tabla Bogot es una tabla de contingencia que clasifica las man-
zanas segn localidades y estratos en el ao de 1997 (DAPD 1997). Se incluye una
columna SinEstrato para contabilizar las manzanas no residenciales.

Procedimiento de anlisis. Se realiza un anlisis de correspondencias sim-


ples (ACS) tomando como columnas activas los estratos 1 a 6 y como columna
ilustrativa SinEstrato.
Se sigue la estrategia descrita en la seccin 2 para obtener una clasificacin de
las 19 localidades mediante su agrupacin por su parecido en el perfil de distribu-
cin de manzanas segn estratos.

Revista Colombiana de Estadstica 30 (2007) 231245


Combinacin de mtodos factoriales y de anlisis de conglomerados en R 239

Nmero de ejes utilizados para la clasificacin. En tablas pequeas como


esta no es necesario hacer un filtrado, y por tanto se utilizan los cinco ejes facto-
riales del ACS para la clasificacin. En este caso el ACS sirve como procedimiento
de cuantificacin de las categoras, al remplazar las frecuencias por coordenadas
factoriales.

Clculos en R utilizando el paquete FactoClass


1. Divisin de las columnas en activas e ilustrativas. Los procedimientos de
ade4 requieren que los elementos activos e ilustrativos estn en tablas sepa-
radas:
library(FactoClass)
data(Bogota)
Bog.act <- Bogota[-1]
Bog.ilu <- Bogota[ 1]
2. FactoClass en forma interactiva
FC.bogota<-FactoClass(Bog.act, dudi.coa,Bog.ilu)
En la pantalla aparece el diagrama de valores propios, que permite escoger el
nmero de ejes para el anlisis. En este ejemplo pequeo son suficientes dos
ejes que retienen 67.5 % de la inercia (este valor se puede verificar una vez
se complete la funcin FactoClass con: inertia.dudi(FC.bogota$dudi)).
En la consola se teclea 2 y Enter ; luego se introduce el nmero de ejes que
se utilizan en el proceso de clasificacin (cinco ejes) y finalmente el nme-
ro de clases deseados para la particin, decisin que se toma observando el
diagrama de ndices de nivel y el dendrograma (figura 2). El procedimiento
termina y el objeto FC.bogota contiene todos los resultados: anlisis facto-
rial, lista de ndices para crear el dendrograma, coordenadas de los centros
de las clases, descripcin de la consolidacin de las clases, descripcin de las
clases segn las variables cualitativas, cuantitativas y de frecuencia.
3. Tablas de FC.bogota en formato LATEX:
FactoClass.tex( FC.bogota, job="Bogota", append=TRUE,dir=getwd(),
p.clust=FALSE )

4. Clases sobre el primer plano factorial factorial (figura 3):


plot(FC.bogota,col.row=c("maroon2","orchid4","darkgoldenrod2",
"dark red","aquamarine4"),cframe=1)

5. Columna ilustrativa SinEstrato (SE) sobre el primer plano factorial (figu-


ra 3):
SE.coor <- supcol(FC.bogota$dudi,Bog.ilu))$cosup
points(SE.coor,pch=23)
text(SE.coor,"SE",pos=3)

La funcin supcol es de ade4; points y text son funciones grficas de R.

Revista Colombiana de Estadstica 30 (2007) 231245


240 Campo Elas Pardo & Pedro Csar Del Campo

0.5

0.4

0.3

0.2
ndices

0.1

0.0

Suba
BarrUnidos
Teusaquillo
Usaqun
Chapinero

Fontibn
Engativ
Usme
CiuBolvar

Kennedy
RafaelUribe
SanCristbal
Bosa
Santaf
PteAranda
LosMrtires
AntonioNari

Tunjuelito
LaCandelaria
C3 C1 C5 C4 C2
Figura 2: Dendrograma.

Factor 2: 0.3761 (26.8%)


E6
1.Chapinero
2.0
5.Teusaquillo

1.5 E4 clase 1
E5
1.Usaqun
1.0 clase 5

0.5
5.BarrUnidos 3.CiuBolvar E1
2.Suba SE clase 3
3.Usme
0.0
4.Fontibn 2.Santaf E2
clase 2 2.Bosa
2.SanCristbal
E3 4.Engativ 2.RafaelUribe
-0.5 clase 4 2.Tunjuelito
4.LosMrtires 2.Kennedy 2.LaCandelaria
4.PteAranda 4.AntonioNario

-1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0


Factor 1: 0.5709 (40.7%)

Figura 3: Primer plano factorial del ACS de la tabla de contingencia Bogot. Se


destacan las clases mostrando sus centros de gravedad y la clase a la
que pertenece cada localidad. Se incluye SE como columna ilustrativa.

Revista Colombiana de Estadstica 30 (2007) 231245


Combinacin de mtodos factoriales y de anlisis de conglomerados en R 241

Anlisis de resultados. El lector podr verificar los resultados escribiendo en


la consola de R el comando que se muestra dentro del parntesis en cada caso.
El primer plano factorial de este anlisis se muestra en la figura 3. Se observa
el ordenamiento de las localidades en el plano segn su perfil de estratos: al lado
derecho las localidades Usme y Ciudad Bolvar, asociadas al estrato 1 ; al centro se
encuentran las localidades con mayor porcentaje de estrato 2 que el promedio; a
la izquierda, las asociadas al estrato 3, y arriba las que incrementan el porcentaje
de estratos 4, 5 y 6 con respecto al promedio. La posicin del perfil de manzanas
SinEstrato, cerca al origen del primer plano factorial, permite concluir que su
distribucin segn localidades es similar a la distribucin global de las manzanas
estratificadas.
Las localidades Usme y Ciudad Bolvar contribuyen con el 60.2 % de la iner-
cia del primer eje, mientras que Chapinero, Usaqun y Teusaquillo son las que
ms contribuyen en el segundo eje (en conjunto 63.7 % de la inercia del eje)
(inertia.dudi(FC.bogota$dudi,T)$row.abs). Las 19 localidades estn bien re-
presentadas en el plano factorial (inertia.dudi(FC.bogota$dudi,T)$row.cum).
El proceso de consolidacin no introduce cambios a la particin obtenida al
cortar el rbol en cinco clases (figura 2). La clase 2 es la de ms localidades y tiene
casi la mitad de las manzanas. La clase cinco es la de mayor inercia intra y la ms
alejada del origen (FC.bogota$clus.summ).

Tabla 3: Caracterizacin de las clases segn estratos.


Porcentaje Manzanas
Clase Est. V.test clase/estrato mod/clas Global por estrato
E6 Inf 85.7 23.5 2.2 785
C1 E5 31.5 44.7 15.1 2.4 969
E4 21.6 22.0 17.5 6.4 2276
SE 5.9 10.8 13.3 10.2 4088
E2 Inf 73.3 62.4 39.9 14282
C2 E5 2.3 49.8 2.6 2.4 969
SE 7.6 40.5 9.0 10.2 4088
C3 E1 Inf 79.5 67.6 15.9 5711
SE 6.8 14.5 8.1 10.2 4088
C4 E3 Inf 50.3 78.4 32.9 11786
SE 10.0 28.1 13.2 10.2 4088
C5 E4 Inf 44.5 53.3 6.4 2276
E3 10.1 7.1 43.7 32.9 11786

La tabla 3 de caracterizacin de las clases es una parte de


FC.bogota$carac.frec. La clase asignada a cada localidad se obtiene con
FC.bogota$cluster. Con las siguientes instrucciones se logra un mosaiplot
(Friendly 1994) para una caracterizacin grfica de clases (se requiere la funcin
gsummary del paquete nlme (Pinheiro et al. 2007)):

library(nlme)
gsummary(Bog.act,groups=FC.bogota$cluster,FUN=sum)->clasEst
mosaicplot(clasEst,color=TRUE,main="")

Revista Colombiana de Estadstica 30 (2007) 231245


242 Campo Elas Pardo & Pedro Csar Del Campo

En la caracterizacin de las clases (tabla 3) se incluye la categora SinEstrato (SE),


que corresponde a la columna ilustrativa. Se observa un incremento de manzanas
sin estratificar en las clases C1 (seguramente por mayor cantidad de zonas verdes)
y C4 (zonas industriales), y una disminucin en las zonas ms deprimidas (C2 y
C3).

Conclusiones del ejemplo. El primer plano factorial del ACS de la tabla de


contingencia que clasifica las manzanas de Bogot segn estratos y localidades
(figura 3), junto con la particin en cinco clases (figura 2), permite corroborar que
Bogot es una ciudad fuertemente estratificada geogrficamente. Las localidades
ms pobres (clase 3: Usme y Ciudad Bolvar) son las de estratos 1 y 2, prctica-
mente sin estrato 3 y sin manzanas en estratos superiores, se ubican en la periferia
sur de la ciudad. En contraste las clases 1 (Chapinero y Usaqun) y 5 (Teusaquillo
y Barrios Unidos), que contienen en conjunto el 11.2 % de las manzanas de Bogot,
son las que ms estratos 4, 5 y 6 tienen y se ubican en el centro-norte. Las clases
2 y 4, en el centro del plano factorial, son las mayoritarias y tienen sobre todo
manzanas en estrato 2 y 3.

Obtencin del paquete FactoClass


El paquete FactoClass se instala en R (versin 2.4.1 en adelante) a partir del
zip disponible en la pgina:
http://www.docentes.unal.edu.co/cepardot/docs/

Agradecimientos
Agradecemos al profesor Jorge Ortiz por su labor como editor de este artculo y
a los dos rbitros annimos, quienes hicieron valiosos comentarios que ayudaron a
mejorarlo. Tambin a los estudiantes del curso de Mtodos multivariados de datos
de los dos semestres de 2007, de la carrera de Estadstica, que utilizaron el paquete
y detectaron algunos errores.

Recibido: agosto de 2007


Aceptado: noviembre de 2007

Referencias
Cazes, P., Chessel, D. & Doledec, S. (1988), Lanalyse des correspondances inter-
nes dun tableau partitionn. Son usage en hydrobiologie, Revue de Statisti-
que Applique 36(1), 3954.

Chessel, D., Dufour, A. B. & Thioulouse, J. (2004), The ade4 Package - I: One-
table Methods, R News 4(1), 510.

Revista Colombiana de Estadstica 30 (2007) 231245


Combinacin de mtodos factoriales y de anlisis de conglomerados en R 243

Dahl, D. B. (2006), xtable: Export Tables to LaTeX or HTML. David B. Dahl with
contributions from many others. R package version 1.4-2.
Dalgaard, P. (2002), Introductory Statistics with R, Springer, New York.
Dalgaard, P. (2005), ISwR: Introductory Statistics with R. R package version 1.0-6.
DAPD (1997), Poblacin, estratificacin y aspectos socioeconmicos de Santa Fe
de Bogot, Departamento Administrativo de Planeacin Distrital, Bogot.
De Castro, R. (2003), El universo LATEX, segunda edn, Unibiblos, Universidad
Nacional de Colombia, Bogot.
Friendly, M. (1994), Mosaic Displays for Multi-Way Contingency Tables, Journal
of the American Statistical Association 89(425), 190200.
Hartigan, J. A. & Wong, M. A. (1979), A K-means Clustering Algorithm, Applied
Statistics 28(100108).
Husson, F., L, S. & Mazet, J. (2007), FactoMineR: Factor Analysis and Data
Mining with R. R package version 1.05.
*http://factominer.free.fr, http://www.agrocampus-rennes.fr/math/
Lebart, L. (2007), DTM. Data and Text Mining, Software.
*http://ses.enst.fr/lebart/
Lebart, L., Morineau, A., Lambert, T. & Pleuvret, P. (1999), SPAD. Systme Pour
lAnalyse des Dones, Paris.
*http://www.spad.eu
Lebart, L., Morineau, A. & Piron, M. (1995), Statisitique exploratoire multidimen-
sionnelle, Dunod, Paris.
Ligges, U. (2006), R Help Desk: Accessing the Sources, R News 6(4), 4345.
Ligges, U. & Murdoch, D. (2005), R Help Desk: Make R CMD Work under
Windows an Example, R News 5(2), 2728.
Pardo, C. E. (1992), Anlisis de la aplicacin del mtodo de Ward de clasificacin
jerrquica en el caso de variables cualitativas, Tesis de Maestra, Estadstica,
Universidad Nacional de Colombia, Facultad de Ciencias, Departamento de
Matemticas y Estadstica, Bogot.
Pinheiro, J., Bates, D., DebRoy, S. & the R Core team., D. S. (2007), nlme: Linear
and Nonlinear Mixed Effects Models. R package version 3.1-83.
R Development Core Team (2007a), R: A Language and Environment for Statis-
tical Computing, R Foundation for Statistical Computing, Vienna, Austria.
ISBN 3-900051-07-0.
*http://www.R-project.org
R Development Core Team (2007b), Writing R Extensions, R Foundation for Sta-
tistical Computing, Vienna, Austria.

Revista Colombiana de Estadstica 30 (2007) 231245


244 Campo Elas Pardo & Pedro Csar Del Campo

Apndice A.
Construccin de FactoClass en ambiente Windows
La versin portable del paquete se construye en ambiente Windows, siguiendo
los pasos recomendados por Ligges & Murdoch (2005). La nica variacin que
se tiene es la ubicacin de MikTEX, ya que no se modific la instalacin por
defecto que se tena. La estructura de carpetas luego de terminados los pasos
recomendados se muestra en la figura 4. Para obtener los archivos fuente de las
funciones, especficamente el cdigo Fortran kmns.f, se utiliza la gua dada por
Ligges (2006). La ruta para acceder a los programas desde los comandos, asociada
a la configuracin de carpetas mostrada en la figura 4, es (archivo rpath.bat):

PATH=.;c:\devel\tools\bin;c:\devel\gnwin32\bin;c:\devel\MinGW\bin;
c:\devel\R-2.5.1\bin;c:\devel\HtmlHelp;c:\devel\Perl\bin;c:\devel\Tlc\bin;
c:\texmf\miktex\bin;%SystemRoot%\system32;%SystemRoot%
SET TMPDIR=C:\temp

La carpeta FactoClass corresponde a la librera o paquete que se quiere hacer


portable; el contenido de las subcarpetas es:

R: funciones de R que se crean o modifican,

man: documentacin de cada una de las funciones,

scr: subrutina kmnsw.f en Fortran 77, que es una modificacin de kmns.f para
introducir los pesos de los individuos (2.4),

data: tablas de datos de los ejemplos,

doc: (subcarpeta de inst) este documento en PDF para hacerlo disponible en la


subcarpeta doc del paquete luego de instalado.

El archivo DESCRIPTION est en la carpeta FactoClass. La descripcin de las


carpetas y los archivos necesarios y opcionales para la creacin de un paquete
se encuentra en el manual para escribir extensiones (R Development Core Team
2007b), disponible directamente en la ayuda de R.
Luego de entrar al Smbolo del sistema, se escribe el comando cd \devel y
aparece: C:\devel>; luego se escribe C:\devel>rpath.
Para instalar el paquete en R y producir el *.zip portable para Windows usa-
mos el comando:

C:\devel>Rcmd install FactoClass --build

y para revisar el paquete:

C:\devel>Rcmd check FactoClass

Revista Colombiana de Estadstica 30 (2007) 231245


Combinacin de mtodos factoriales y de anlisis de conglomerados en R 245

C devel MinGW bin

FactoClass chm

data

inst doc

man

scr

HtmlHelp

Perl bin

tools bin

R-2.5.1 bin

Tcl bin

texmf miktex bin

Figura 4: Carpetas y subcarpetas de los programas necesarios para la creacin de pa-


quetes en ambiente Windows.

Los archivos de la subcarpeta chm se crean en el proceso de install, al igual


que el archivo FactoClass.dll en la subcarpeta scr, que es el ejecutable de
la subrutina kmnsw.f. Para hacer disponible la subrutina al cargar el paquete
con library(FactoClass) es necesario crear en la subcarpeta R de FactoClas el
archivo zzz.R con, por lo menos, el contenido siguiente:
.First.lib <-function(lib, pkg) {
library.dynam("FactoClass","FactoClass")
}

Revista Colombiana de Estadstica 30 (2007) 231245

You might also like