PrInf20: Análisis de las infraestructuras de los países del mundo
De MateWiki
| Práctica de Informática | |
|---|---|
| Análisis de las infraestructuras de los países del mundo | |
| Práctica anterior | Siguiente práctica |
| Este artículo es un guión de prácticas de Informática | |
| |
El Banco Mundial realiza Archivo:Banco mundial.csv[1] y los pone a disposición de manera pública para realizar análisis estadísticos. En esta práctica vamos a usar estos datos para entrenar cómo leer información del disco duro. Vamos a representar gráficamente la relación entre dos indicadores para todos los países del mundo.
1 Ejemplo
Pasajeros transportados por avión en España, evolución temporal
%% Lee datos del Banco Mundial
f = fopen('banco_mundial.csv', 'r')
% Ignoramos la primera fila
fgets(f);
ind1 = 'IS.AIR.PSGR';
p1 = 'ESP';
while ~feof(f)
pais = fscanf(f,'%s',1);
disp(pais);
indicador = fscanf(f,'%s',1);
fprintf(' ** %s\n', indicador);
d = fscanf(f,'%f',53);
if strcmp(p1, pais) && strcmp(ind1, indicador)
disp('Found!')
break;
end
end
y = 1960:2012;
plot(y(d>0), d(d>0), 'LineWidth', 5);
fclose(f);
2 Ejemplo
Un indicador frente a otro
%% Lee datos del Banco Mundial
f = fopen('banco_mundial.csv', 'r');
% Ignoramos la primera fila
fgets(f);
k = 1;
ind1 = 'IS.AIR.PSGR';
ind2 = 'EG.ELC.PROD.KH';
p = {};
x = [];
y = [];
k = 1;
while ~feof(f)
pais = fscanf(f,'%s',1);
disp(pais);
indicador = fscanf(f,'%s',1);
d = fscanf(f,'%f',53);
d = d';
n = 53;
if length(d) ~= 53
disp(length(d));
disp(indicador);
break
end
if strcmp(indicador, ind1)
p(k) = pais;
k = k + 1;
n = length(d);
if n>3
x = [x d(n-3)];
end
end
if strcmp(indicador, ind2)
n = length(d);
if n>3
y = [y d(n-3)];
end
end
end
xp = x(x>0 & y>0);
yp = y(x>0 & y>0);
pp = p(x>0 & y>0);
loglog(xp,yp,'.r','LineWidth',4);
text(xp+50,yp+50,pp)
fclose(f);