Tabla ordenada de tasas de interés

La tasa de interés activa es un dato cuya comparación resulta interesante en muchos aspectos. He tomado los datos del banco mundial en formato Excel, los he acomodado para sólo tener el vector del promedio en las tasas de interés activas de 2007 a 2011.

lendingR = 
  First[Import["/Users/M/(...)/lendingrate.xls"]];

La razón por la que antes de que pase el valor a la variable haya usado First es por que he puesto los datos que quería en la hoja 1, la hoja 2 mantiene todos los datos originales para usos posteriores.

En la segunda parte del programa me aseguro de limpiar los datos vacíos:

temp = {};
For[i = 1, i < Length[lendingR], i++,
 If[Head[lendingR[[i, 2]]] === Real,
  temp = Append[temp, lendingR[[i]]],
  Null]
 ]
lendingR = temp;

Muchos países no proporcionan algunos datos y aparecen en blanco en lo que no proporcionan, por lo que al crear los promedios en excel, en tales países aparece un mensaje de error. Queremos que a estos países no los incluya en la tabla final. Para esto he usado la función Head, que devuelve el encabezado. Si el dato que contiene la posición que evaluamos en la matriz tiene como encabezado que es un número real, lo podemos incluir a la tabla, de lo contrario lo ignoramos. Finalmente, pasamos los datos  de la matriz temporal a la originaria.

Usaremos a continuación la matriz transpuesta para poder trabajar con el vector que contiene únicamente los datos. De ahí obtendremos el orden, el cual alojaremos en la variable order y que usaremos para crear una matriz con los vectores ordenados, para luego pasar su valor a la matriz original.

temp = {};
tlR = Transpose[lendingR];
order = Ordering[tlR[[2]]];
temp = Append[temp, tlR[[1]][[order]]];
temp = Append[temp, tlR[[2]][[order]]];
lendingR = Transpose[temp];

Por último, agregaremos a cada elemento de la lista su número correspondiente, así la tabla final nos presentará el País, su tasa de interés y su Ranking. Presentamos la matriz con TableForm.

For[i = 1, i < Length[lendingR], i++,
 lendingR[[i]] = Append[lendingR[[i]], i]
 ]
Clear[temp, tlR, order];
TableForm[lendingR]
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s