Mostrando las entradas con la etiqueta xtable. Mostrar todas las entradas
Mostrando las entradas con la etiqueta xtable. Mostrar todas las entradas

sábado, 21 de septiembre de 2013

Homicidios intencionales. Imputación de datos faltantes

Tasas de homicidio a nivel mundial con énfasis en las tasas de Venezuela, 1995-2011. Parte II

Tasas de homicidio a nivel mundial con énfasis en las tasas de Venezuela, 1995-2011. Parte II

Queremos analizar la data sobre homicidios intencionales en el mundo para intentar responder las siguientes preguntas:

  • ¿Venezuela es el país más violento del mundo? Si no lo es,
  • ¿Está entre los países más violentos del mundo?
  • ¿Cómo podríamos clasificar los países tomando como referencias tasas de homicidios intencionales?
  • ¿Qué tan parecidos o diferentes son los paises según la tasa de homicidios reportadas?

Hemos comenzado por un diagnóstico de los datos faltantes. Una información necesaria para estar en capacidad de determinar hasta qué punto, con esta data podriamos responder las preguntas anteriores. Y hemos comprobado que la data presenta una proporción bastante elevada de datos faltantes que dificulta, por ejemplo, llegar a conclusiones sólidas si se compara el nivel de violencia -partimos del supuesto de que la tasa de homicidio intencional es un indicador proxy del grado de violencia en una sociedad dada- por regiones y subregiones. En este post completaremos este análisis observando con mayor detenimiento el comportamiento de los datos faltantes años a año.

Data

Tal como indicamos en la primera parte de este análisis, la data sobre homicidios intencionales recopilada por Oficina de las Naciones Unidas Contra la Droga y el Delito contiene una gran cantidad de datos pérdido. Las regiones con mayor cantidad de datos pérdidos son Africa y Oceanía. En la siguiente matriz, los datos faltantes se resaltan en color rojo:

matrixplot(homicidios)

plot of chunk unnamed-chunk-1

Separemos entonces la data para:

  • obtener los países con data completa
  • obtener los paises con data incompleta y dentro de estos
  • extraer los casos completos en cada años
  • Descartar los casos incompletos cada año
  • analizar las tasas de homicidios en los países con data completa y comparar esas observaciones con las tasas en Venezuela
  • analizar las tasas año año tomando los casos con información completa cada año

Primero vamos a obtener la data correspondiente a Venezuela, la exploramos, imputamos el valor faltante para 2011 y luego obtenemos los dos tipos de muestras, la completa y la que contiene datos faltantes. Seleccionemos los datos correspondientes a Venezuela

venezuela <- homicidios[which(homicidios$pais == "venezuela"), ]
# información básica sobre la data
venezuela[, 1:5]
##      region     subregion      pais tipo  fuente
## 99 americas south america venezuela   cj ngo (c)

Venezuela está clasificado como el país número 99, en la región denominada americas, la subgerion sur america el tipo de fuente corresponde a lo que la Oficina clasificaca como criminal justice y la fuente es The Venezuelan Program of Action and Education in Human Rights (PROVEA)

Veamos la distribución de la tasas de homicidios intencionales disponibles para Venezuela:

barplot(as.matrix(venezuela[, 7:22]), names.arg = c("1995", "1996", "1997", 
    "1998", "1999", "2000", "2001", "2002", "2003", "2004", "2005", "2006", 
    "2007", "2008", "2009", "2010"), ylim = c(0, 60), las = 2, border = "white")
grid(nx = "", ny = 6, col = "white")

plot of chunk faltanteAnuales

Venezuela solo presenta como faltante la data correspondiente al año 2011. Vamos a imputar. Algunas personas emplean la media. Esta práctica, sin embargo, presentar serios inconvenientes. Por otra parte, R cuenta con un paquete para imputar valores a series de tiempo. El paquete longitudinalData. Emplearemos este paquete para comparar qué tanto difiere la imputación del valor de la tasa para el año 2011 usando la media, o empleando uno de los métodos del paquete longitudinalData:

# usando la media de los casos
rowMeans(venezuela[, 7:22])
##    99 
## 35.36
require(longitudinalData)
imputation(as.matrix(venezuela[, 7:23], "crossMean"))
##    A1995 A1996 A1997 A1998 A1999 A2000 A2001 A2002 A2003 A2004 A2005 A2006
## 99 20.34 22.05  18.4 19.42 24.99 32.95 32.08 38.05 44.07  37.1 37.37 45.18
##    A2007 A2008 A2009 A2010 A2011
## 99 47.68    52 49.04 45.13 45.13

Si usamos la media posiblemente subvaloramos las tasas de homicidios para 2011,35.35, colocándola muy por debajo de la tendencia en los últimos años, y por tanto, generando una impresión bastante errada. La tasa generada empleando el paquete longituinalData, 45.13, conserva la tendencia presente en la serie por lo que representa un valor mucho más plausible:

matplot(t(imputation(as.matrix(venezuela[, 7:23], method = "crossMean"))), ylab = "metodo= crossMean", 
    xlab = "periodos", ylim = c(0, 60))
grid(nx = 3, ny = 2)

plot of chunk graficoMatPlot

Agregamos el valor obtenido a la data

# valor actual
homicidios$A2011[99]
## [1] NA
# imputamos
homicidios$A2011[99] <- 43.13
# valor agregado para la tasa de homicidio de 2011
homicidios$A2011[99]
## [1] 43.13

Procedemos a extraer las submuestras necesarias para nuestros análisis. Observamos que 56 países tienen datos completos: 2 africanos, 14 en las américa, 8 en aasia, 30 en europa y 2 en oceania:

Homicidios intencionales. Casos completos
region subregion pais
africa eastern africa mauritius
africa southern africa south africa
americas caribbean dominican republic
americas caribbean jamaica
americas caribbean saint vincent and the grenadines
americas central america costa rica
americas central america el salvador
americas central america guatemala
americas central america mexico
americas central america nicaragua
americas central america panama
americas northern america canada
americas northern america united states of america
americas south america colombia
americas south america guyana
americas south america venezuela
asia central asia kazakhstan
asia central asia kyrgyzstan
asia eastern asia japan
asia south-eastern asia singapore
asia south-eastern asia thailand
asia southern asia india
asia western asia georgia
asia western asia israel
europe eastern europe bulgaria
europe eastern europe czech republic
europe eastern europe hungary
europe eastern europe poland
europe eastern europe republic of moldova
europe eastern europe romania
europe eastern europe slovakia
europe northern europe denmark
europe northern europe estonia
europe northern europe finland
europe northern europe iceland
europe northern europe ireland
europe northern europe lithuania
europe northern europe norway
europe northern europe sweden
europe northern europe u.k.england and wales
europe northern europe u.k.northern ireland
europe northern europe u.k.scotland
europe southern europe albania
europe southern europe croatia
europe southern europe greece
europe southern europe italy
europe southern europe slovenia
europe southern europe spain
europe western europe austria
europe western europe france
europe western europe germany
europe western europe liechtenstein
europe western europe luxembourg
europe western europe switzerland
oceania australia and new zealand australia
oceania australia and new zealand new zealand

jueves, 5 de septiembre de 2013

Mineria de texto usando R

Hugo Chávez. Palabras más frecuentes en algunos discursos, 1999-2002. Palabras funcionales. Parte II

Hugo Chávez. Palabras más frecuentes en algunos discursos, 1999-2002. Incluyendo palabras funcionales

Empleando la técnica de minería de texto, hemos obtenido la distribución de frecuencia de algunos textosy discursos (orales o escritos) emitidos por H. Chávez entre 1999 y 2002, obtenidos de Hugo Chávez Frías en La BitBlioteca, empleando Text Mining,tm, de R. Los textos analizados son:

H. Chavez. Textos analizados, 1999-2002
MetaID Author Heading Description ID Language Origen
0 Hugo Chavez Bill Clinton carta clinton Spanish www.analitica.com
0 Hugo Chavez Ilich Ramirez Sanchez carta chacal Spanish www.analitica.com
0 Hugo Chavez Corte Suprema de Justicia carta csj Spanish www.analitica.com
0 Hugo Chavez Cien dias de gobierno cadena nacional cien Spanish www.analitica.com
0 Hugo Chavez Desfile julio discurso desfile Spanish www.analitica.com
0 Hugo Chavez Alocucion Proceres discurso proceres Spanish www.analitica.com
0 Hugo Chavez Jesus Urdaneta Hernandez entrevista urdaneta Spanish www.analitica.com
0 Hugo Chavez Juramentacion Gabinete cadena nacional gabinete Spanish www.analitica.com
0 Hugo Chavez Discurso toma de posesion discurso posesion Spanish www.analitica.com
0 Hugo Chavez Respuesta Conferencia Episcopal carta cev Spanish www.analitica.com
0 Hugo Chavez Dieciocho meses de gobierno cadena nacional dieciocho Spanish www.analitica.com
0 Hugo Chavez Clausura II Cumbre OPEP discurso opep Spanish www.analitica.com
0 Hugo Chavez Palabras en el Panteon Nacional discurso panteon Spanish www.analitica.com
0 Hugo Chavez Frijolito II entrevista frijolitoII Spanish www.analitica.com
0 Hugo Chavez Revolucion Democratica programa gobierno rev.democ Spanish www.analitica.com
0 Hugo Chavez Presupuesto nacional cadena nacional presupuesto Spanish www.analitica.com
0 Hugo Chavez Cadena nacional agosto cadena cadago Spanish www.analitica.com
0 Hugo Chavez Cadena nacional junio cadena cadjun Spanish www.analitica.com
0 Hugo Chavez cadena nacional octubre cadena cadoct Spanish www.analitica.com
0 Hugo Chavez Cumbre Grupo de los Tres discurso grupo.tres Spanish www.analitica.com
0 Hugo Chavez Entrevista Heinz Dieterich entrevista dietrich Spanish www.analitica.com
0 Hugo Chavez Salutacion Cuerpo Diplomatico discurso salutacion Spanish www.analitica.com
0 Hugo Chavez Cadena al Retoma el poder cadena nacional retoma Spanish www.analitica.com
0 Hugo Chavez Francisco Arias Cardenas entrevista arias.cardenas Spanish www.analitica.com
0 Hugo Chavez Consejo Federal de Gobierno discurso consejo Spanish www.analitica.com
0 Hugo Chavez En la FAO discurso fao Spanish www.analitica.com
0 Hugo Chavez Entrega Premio Nacional Periodista discurso premio.periodista Spanish www.analitica.com
0 Hugo Chavez Marcha en Av Bolivar discurso marcha.respaldo Spanish www.analitica.com
0 Hugo Chavez Plan vivienda productiva discurso vivenda.productiva Spanish www.analitica.com
0 Hugo Chavez Con Jorge Gestoso entrevista j.gestoso Spanish www.analitica.com
0 Hugo Chavez con Martha Harnecker entrevista m.harnecker Spanish www.analitica.com
0 Hugo Chavez En Monterrey discurso monterrey Spanish www.analitica.com
0 Hugo Chavez Con medios internacionales entrevista m.internacionales Spanish www.analitica.com
0 Hugo Chavez Vision estrategica Venezuela discurso vision Spanish www.analitica.com

En un total de 39 textos obtenidos hay un total 1.093 × 105 de palabras, y os 20 términos que más repite Chávez en estos textos en el lapso analizado son:

plot of chunk terminosmasF

De acuerdo con la Real Academia de la Lengua las veinte primeras palabras mas usadas del castellano son:

RAE. Veinte de las mil palabras mas usadas en castellano
Orden Frec.absoluta Frec.normalizada
de 9,999,518 65545.55
la 6,277,560 41148.59
que 4,681,839 30688.85
el 4,569,652 29953.48
en 4,234,281 27755.16
y 4,180,279 27401.19
a 3,260,939 21375.03
los 2,618,657 17164.95
se 2,022,514 13257.31
del 1,857,225 12173.87
las 1,686,741 11056.37
un 1,659,827 10879.95
por 1,561,904 10238.07
con 1,481,607 9711.74
no 1,465,503 9606.18
una 1,347,603 8833.36
su 1,103,617 7234.06
para 1,062,152 6962.26
es 1,019,669 6683.79
al 951,054 6234.03

Las veinte palabras más empleadas por Chávez en los discursos analizados son también palabras de mayor uso en castellano, sólo que el orden es diferente en los discursos de Chávez:

Posicion ocupada por las palabras mas usadas Chavez-RAE
Palabras Posicion_Chavez Posicion_RAE
que 1 3
los 2 8
del 3 10
para 4 18
por 5 13
una 6 16
las 7 11
como 8 22
esta 9 38
pero 10 25
vamos 11 557
porque 12 52
mas 13 23
aqui 14 168
nosotros 15 274
eso 16 83
este 17 33
hemos 18 315
hay 19 57
todos 20 60

La particula “que” es la palabra más usada por Chávez en los discursos analizados, pero es la tercera palabra más usada en castellano; “vamos, un término bastante empleado por Chávez para animar a sus seguidores es la onceava palabra que más usa, pero ocupa la posición quingentésima quincuagésima séptima entre las palabras más usadas en castellano; "nosotros”, por su parte en la quinceava palabra más usada por el presidente Chávez, pero es la duocentésima septuagésima cuarta más usada en castellano. Margarita Porroche Ballesteros nos indica una serie de usos posibles de la particular “que” en el castellano conversacional. Entre estos usos encontramos:

  • transmitir deseos y deseos
  • reiterar el discurso
  • hacer referencia al discurso de otra(s) persona(s)
  • desarrollar la sátira o la ironía
  • llama la atención
  • vocativo, interjeccióna
  • narrar

Sin hacer un análisis del discurso en forma tradicional, sino reflexionando sobre los patrones que emergen de la distribución de las frecuencias en los discursos encontrados, gracias a la minería de texto podemos conjeturar que la presencia mayoritaria del “que” en estos discursos del presidente Chávez en estos 4 años, podrían ser consistente con los usos de esta particular el castellano conversacional, dado que fue un periodo en el que Chávez debió explicar ampliamente las razones para, por ejemplo, la Constituyente, o diferenciar el proyecto político que proponía para el pais de los proyectos conocidos hasta ese momento.

miércoles, 4 de septiembre de 2013

Mineria de texto usando R

Hugo Chávez. Palabras más frecuentes en algunos discursos, 1999-2002. Incluyendo palabras funcionales

Hugo Chávez. Palabras más frecuentes en algunos discursos, 1999-2002. Incluyendo palabras funcionales

Empleando la técnica de minería de texto, haremos un análisis descritivo de algunos textosy discursos emitidos por H. Chávez entre 1999 y 2002. Los discursos han sido obtenidos de Hugo Chávez Frías en La BitBlioteca. Usamos el paquete tm, Text Mining, de R.

El primer paso consiste en obtener la data. Podemos bajarla directamente al disco duro desde internet y conformar los diferentes directorios. Subimos cada uno de éstos a la cónsola de R, creando al mismo tiempo una base de datos de textos. Por ejemplo:

require(tm)
require(xtable)
a <- "~/chavez/1999"
c1999 <- Corpus(DirSource(a), readerControl = list(language = "es"))

Dado que hemos obtenidos estos discursos directamente de la web y no disponen de metadata, creamos entonces esta informacion. Por ejemplo, para los discursos de 1999:

meta(c1999, tag = "Author") <- c(rep("Hugo Chavez", 9))
meta(c1999, tag = "Heading") <- c("Bill Clinton", "Ilich Ramirez Sanchez", "Corte Suprema de Justicia", 
    "Cien dias de gobierno", "Desfile julio", "Alocucion Proceres", "Jesus Urdaneta Hernandez", 
    "Juramentacion Gabinete", "Discurso toma de posesion")
meta(c1999, tag = "Description") <- c("carta", "carta", "carta", "cadena nacional", 
    "discurso", "discurso", "entrevista", "cadena nacional", "discurso")
meta(c1999, tag = "ID") <- c("clinton", "chacal", "csj", "cien", "desfile", 
    "proceres", "urdaneta", "gabinete", "posesion")

meta(c1999, tag = "Language") <- c(rep("Spanish", 9))
meta(c1999, tag = "Origen") <- c(rep("www.analitica.com", 9))

Creamos una sola tabla con todos los discursos

disCompletos <- rbind(DMetaData(c1999), DMetaData(c2000), DMetaData(c2001), 
    DMetaData(c2002))

Generamos una tabla

miTabla <- xtable(disCompletos, caption = "H. Chavez. Textos analizados, 1999-2002", 
    digits = 0, floating.environment = "sidewaystable")

print(miTabla, include.rownames = FALSE, type = "html", hline.after = c(1))
H. Chavez. Textos analizados, 1999-2002
MetaID Author Heading Description ID Language Origen
0 Hugo Chavez Bill Clinton carta clinton Spanish www.analitica.com
0 Hugo Chavez Ilich Ramirez Sanchez carta chacal Spanish www.analitica.com
0 Hugo Chavez Corte Suprema de Justicia carta csj Spanish www.analitica.com
0 Hugo Chavez Cien dias de gobierno cadena nacional cien Spanish www.analitica.com
0 Hugo Chavez Desfile julio discurso desfile Spanish www.analitica.com
0 Hugo Chavez Alocucion Proceres discurso proceres Spanish www.analitica.com
0 Hugo Chavez Jesus Urdaneta Hernandez entrevista urdaneta Spanish www.analitica.com
0 Hugo Chavez Juramentacion Gabinete cadena nacional gabinete Spanish www.analitica.com
0 Hugo Chavez Discurso toma de posesion discurso posesion Spanish www.analitica.com
0 Hugo Chavez Respuesta Conferencia Episcopal carta cev Spanish www.analitica.com
0 Hugo Chavez Dieciocho meses de gobierno cadena nacional dieciocho Spanish www.analitica.com
0 Hugo Chavez Clausura II Cumbre OPEP discurso opep Spanish www.analitica.com
0 Hugo Chavez Palabras en el Panteon Nacional discurso panteon Spanish www.analitica.com
0 Hugo Chavez Frijolito II entrevista frijolitoII Spanish www.analitica.com
0 Hugo Chavez Revolucion Democratica programa gobierno rev.democ Spanish www.analitica.com
0 Hugo Chavez Presupuesto nacional cadena nacional presupuesto Spanish www.analitica.com
0 Hugo Chavez Cadena nacional agosto cadena cadago Spanish www.analitica.com
0 Hugo Chavez Cadena nacional junio cadena cadjun Spanish www.analitica.com
0 Hugo Chavez cadena nacional octubre cadena cadoct Spanish www.analitica.com
0 Hugo Chavez Cumbre Grupo de los Tres discurso grupo.tres Spanish www.analitica.com
0 Hugo Chavez Entrevista Heinz Dieterich entrevista dietrich Spanish www.analitica.com
0 Hugo Chavez Salutacion Cuerpo Diplomatico discurso salutacion Spanish www.analitica.com
0 Hugo Chavez Cadena al Retoma el poder cadena nacional retoma Spanish www.analitica.com
0 Hugo Chavez Francisco Arias Cardenas entrevista arias.cardenas Spanish www.analitica.com
0 Hugo Chavez Consejo Federal de Gobierno discurso consejo Spanish www.analitica.com
0 Hugo Chavez En la FAO discurso fao Spanish www.analitica.com
0 Hugo Chavez Entrega Premio Nacional Periodista discurso premio.periodista Spanish www.analitica.com
0 Hugo Chavez Marcha en Av Bolivar discurso marcha.respaldo Spanish www.analitica.com
0 Hugo Chavez Plan vivienda productiva discurso vivenda.productiva Spanish www.analitica.com
0 Hugo Chavez Con Jorge Gestoso entrevista j.gestoso Spanish www.analitica.com
0 Hugo Chavez con Martha Harnecker entrevista m.harnecker Spanish www.analitica.com
0 Hugo Chavez En Monterrey discurso monterrey Spanish www.analitica.com
0 Hugo Chavez Con medios internacionales entrevista m.internacionales Spanish www.analitica.com
0 Hugo Chavez Vision estrategica Venezuela discurso vision Spanish www.analitica.com

A partir de las funciones Corpus(), TextDocumentMatrix(), y de las transformaciones que se incluyen en el paquete tm, creamos algunas funciones propias: Con ella extraemos los términos más frecuentes en cada uno de los discursos emitidos durante el lapso analizado.

Obtengamos una relación del número de palabras en cada uno de los años analizados:

m1999 <- crear_tdm(c1999)
m2000 <- crear_tdm(c2000)
m2001 <- crear_tdm(c2000)
m2002 <- crear_tdm(c1999)

distribucion99 <- hacer_tabla(m1999)
distribucion00 <- hacer_tabla(m2000)
distribucion01 <- hacer_tabla(m2001)
distribucion02 <- hacer_tabla(m2002)

# veamos cinco primeros registros de la tabla correspondiente a 199
head(distribucion99)
##      palabras frecuencia
## que       que       1490
## los       los        595
## del       del        399
## para     para        348
## por       por        338
## las       las        315

Veamos rápidamente cuantas palabras posee cada corpa por año

discursos <- c(1999, 2000, 2001, 2002)
textos <- c(10, 8, 6, 15)
totalTerminos <- c(sum(distribucion99$frecuencia), sum(distribucion00$frecuencia), 
    sum(distribucion01$frecuencia), sum(distribucion02$frecuencia))
discursosDF <- data.frame(Fecha = discursos, Cantidad_textos = textos, total_palabras = totalTerminos)
H. Chavez.Discursos segun distribucion de palabras, 1999-2002
Fecha Cantidad_textos total_palabras
1999 10 28308
2000 8 26341
2001 6 26341
2002 15 28308

En un total de 39 textos obtenidos provenientes de discursos escritos o emitidos/avalados por el presidente Chávez, entre e 1999 y 2002 hay un total 1.093 × 105 de palabras.

Adicionalmente, limpiamos mos el corpus, eliminando palabras funcionales, números, espacios en blanco, y llevando todos los caracteres de las bases de datos documentales a minúscula, para usarlo posteriormente para hacer análisis de los discursos sin palabras funcionales.

chavez.99 <- limpiar_corpus_es(c1999)
chavez00 <- limpiar_corpus_es(c2000)
chavez01 <- limpiar_corpus_es(c2001)
chavez02 <- limpiar_corpus_es(c2002)

Creamos la matriz documental, que nos permitirá contar la frecuencia de aparición de cada término en los diferentes documentos. A partir de esta matrix generamos sendas tablas por año. Igualmente, creamos un par de funciones propias, partiendo de las funciones del paquete tm, para agilizar el proceso

tdm.99 <- crear_tdm(c1999)
tdm00 <- crear_tdm(c2000)
tdm01 <- crear_tdm(c2001)
tdm02 <- crear_tdm(c2002)

terminos99 <- hacer_tabla(tdm.99)
terminos00 <- hacer_tabla(tdm00)
terminos01 <- hacer_tabla(tdm01)
terminos02 <- hacer_tabla(tdm02)

Veamos los 20 términos que más repite Chávez en estos textos entre 1999-2002

mas99 <- head(terminos99, 20)
mas00 <- head(terminos00, 20)
mas01 <- head(terminos01, 20)
mas02 <- head(terminos02, 20)

veinte99 <- data.frame(palabras = mas99$palabras, frecuencia = round(mas99$frecuencia/sum(mas99$frecuencia) * 
    1000), fecha = rep("1999", length(mas99)))
veinte00 <- data.frame(palabras = mas00$palabras, frecuencia = round(mas00$frecuencia/sum(mas00$frecuencia) * 
    1000), fecha = rep("2000", length(mas00)))
veinte01 <- data.frame(palabras = mas01$palabras, frecuencia = round(mas01$frecuencia/sum(mas01$frecuencia) * 
    1000), fecha = rep("2001", length(mas01)))
veinte02 <- data.frame(palabras = mas02$palabras, frecuencia = round(mas02$frecuencia/sum(mas02$frecuencia) * 
    1000), fecha = rep("2002", length(mas02)))

x <- rbind(veinte99, veinte00, veinte01, veinte02)
require(ggplot2)

g <- ggplot(x, aes(reorder(palabras, frecuencia), frecuencia, ylab = "")) + 
    facet_grid(. ~ fecha) + geom_point() + theme(axis.text.x = element_text(angle = 90)) + 
    coord_flip() + labs(title = "H. Chavez. Algunos discursos segun palabras mas frecuentes por cada mil")
g + xlab("")

plot of chunk terminosmasF

De acuerdo con la Real Academia de la Lengua las veinte primeras palabras mas usadas del castellano son:

castellanoMas <- url("http://corpus.rae.es/frec/1000_formas.TXT")
castellanoDf <- read.table(castellanoMas, header = TRUE, sep = "\t")
head(castellanoDf, 20)
##         Orden Frec.absoluta Frec.normalizada
##      1.    de    9,999,518         65545.55 
##      2.    la    6,277,560         41148.59 
##      3.  que     4,681,839         30688.85 
##      4.    el    4,569,652         29953.48 
##      5.    en    4,234,281         27755.16 
##      6.     y    4,180,279         27401.19 
##      7.     a    3,260,939         21375.03 
##      8.   los    2,618,657         17164.95 
##      9.    se    2,022,514         13257.31 
##     10.   del    1,857,225         12173.87 
##     11.   las    1,686,741         11056.37 
##     12.    un    1,659,827         10879.95 
##     13.   por    1,561,904         10238.07 
##     14.  con     1,481,607           9711.74
##     15.    no    1,465,503           9606.18
##     16.  una     1,347,603           8833.36
##     17.    su    1,103,617           7234.06
##     18.  para    1,062,152           6962.26
##     19.    es    1,019,669           6683.79
##     20.    al       951,054          6234.03