SUMA MISMO ID DIFERENTE FILE
Publicado por nann (8 intervenciones) el 13/02/2017 15:45:19
Buenas tardes,
Tengo la siguiente información (es solo una fracción del total (10 años de información x 700 ID)):
año 2006 año 2007 año 2008
ID Valor ID Valor ID Valor
102 30 102 20 103 34
103 40 105 18 105 15
105 28 109 10 106 23
Lo que necesito es:
*Sumar los valore de cada ID de los diferentes años, por ejemplo para
ID 102= 30 + 20 + 0 = 50
ID 103= 40 + 0 +34 = 74
ID 105= 28 + 18 + 15 = 61
ID 109= 0 + 10 + 0 = 10
ID 106= 0 + 0 + 23 = 23
Me interesa solo el resultado de la suma (50,74,61,10,23).
He creado un file donde tengo todos los ID (llamado "file"; matriz 700 filas x1columa]); y uso los siguientes comandos:
val=file(3,1); % Es el ID posicionado en la 3era fila, unica columna
n6=find(file6==val); % file6 =file que contiene la información del año 2006
data6=file6(n6,10); % la columna 10 es la que contiene los valores que me interesan para la suma
n7=find(file7==val); % file7 =file que contiene la información del año 2007
data7=file7(n7,10);
n8=find(file8==val); % file8 =file que contiene la información del año 2008
data8=file8(n8,10);
A=[data6;data7;data8;] ;
Con estos comandos logro obtener la suma que necesito, pero tengo que repetir la operación para cada ID (700 veces: val=file(1,1), val=file(2,1),..... val=file(700,1).
Existe alguna manera más práctica de hacerlo?
Muchas gracias de antemano
Tengo la siguiente información (es solo una fracción del total (10 años de información x 700 ID)):
año 2006 año 2007 año 2008
ID Valor ID Valor ID Valor
102 30 102 20 103 34
103 40 105 18 105 15
105 28 109 10 106 23
Lo que necesito es:
*Sumar los valore de cada ID de los diferentes años, por ejemplo para
ID 102= 30 + 20 + 0 = 50
ID 103= 40 + 0 +34 = 74
ID 105= 28 + 18 + 15 = 61
ID 109= 0 + 10 + 0 = 10
ID 106= 0 + 0 + 23 = 23
Me interesa solo el resultado de la suma (50,74,61,10,23).
He creado un file donde tengo todos los ID (llamado "file"; matriz 700 filas x1columa]); y uso los siguientes comandos:
val=file(3,1); % Es el ID posicionado en la 3era fila, unica columna
n6=find(file6==val); % file6 =file que contiene la información del año 2006
data6=file6(n6,10); % la columna 10 es la que contiene los valores que me interesan para la suma
n7=find(file7==val); % file7 =file que contiene la información del año 2007
data7=file7(n7,10);
n8=find(file8==val); % file8 =file que contiene la información del año 2008
data8=file8(n8,10);
A=[data6;data7;data8;] ;
Con estos comandos logro obtener la suma que necesito, pero tengo que repetir la operación para cada ID (700 veces: val=file(1,1), val=file(2,1),..... val=file(700,1).
Existe alguna manera más práctica de hacerlo?
Muchas gracias de antemano
Valora esta pregunta


0