Matlab - Conteo de pares de coordenadas

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado su posición en 8 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Conteo de pares de coordenadas

Publicado por Alfredo salinas (5 intervenciones) el 10/04/2020 22:34:51
Hola amigos.
Tengo una base de datos con puntos x,y lo que me gustaría hacer es contar cuantas veces se repite la coordenada (x1,y1); cuantas la (x2,y2); etc.
Cabe destacar que mi base es la más chica de 1 millón de líneas y la más grande de 100 millones.
Finalmente me gustaría graficar ese conteo haciendo que si (x1,y1) se repitió 15 veces pueda ver una pila de 15 unidades en (x1,y1) y lo mismo para todas mis coordenadas.
Muchas gracias por su apoyo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Conteo de pares de coordenadas

Publicado por Daniel (354 intervenciones) el 11/04/2020 11:28:43
Hola,

La mejor solución para hacer estas tareas en Matlab es usar las funciones de agrupación de tablas. Con las que se pueden crear tablas resumen de los conjuntos de datos como en una consulta SQL o en Excel. Para lo que se plantea, si se tiene la tabla simplemente hay que decir que agrupe por las dos variables deseadas. Luego se puede usar la función bar para hacer una gráfica de barras.

1
2
3
tbl = table([1, 2, 2, 3]', [1, 1, 1, 1]')
count = groupsummary(tbl, {'Var1','Var2'})
bar(count.GroupCount)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
tbl =
 
  4×2 table
 
    Var1    Var2
    ____    ____
 
     1       1
     2       1
     2       1
     3       1
 
 
count =
 
  3×3 table
 
    Var1    Var2    GroupCount
    ____    ____    __________
 
     1       1          1
     2       1          2
     3       1          1

Dado el tamaño del conjunto de datos puede que esta no sea la mejor solución. Si el conjunto se encuentra en una tabla en una base de datos lo mejor solución seria usar una consulta SQL e importar ya los resultados.

1
2
selectquery = 'SELECT x, y, COUNT(*) as cuenta FROM mitabla GROUP BY x, y';
data = select(conn, selectquery);

donde conn es la conexión a la base de datos y los nombre de las columnas y tablas se tendran que adaptar. En data se obtiene una tabla con las coordenadas x, y al mismo tiempo que el número de registros.

Saludos,
Daniel Rodríguez
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 8 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Conteo de pares de coordenadas

Publicado por Alfredo salinas (5 intervenciones) el 12/04/2020 20:38:28
Hola Daniel,
Muchas gracias por tu respuesta. Intentaré la primera opción dado que soy súper nuevo en Matlab y de plano desconozco cómo trabajar SQL por lo que no tengo idea de por donde iniciar para la segunda opción.
Ya te aviso si me funciona bien.
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 8 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Conteo de pares de coordenadas

Publicado por Alfredo Salinas (5 intervenciones) el 14/04/2020 22:02:24
Hola,
Intenté el primer método que me sugeriste, pero me arroja este error:

Error using matlab.internal.math.groupCheckVars (line 22)
Invalid grouping variables.

Error in groupsummary (line 136)
[groupvars,T,ttFlag] = matlab.internal.math.groupCheckVars(T,groupvars,'Group','groupsummary');

La tabla la cree con las variables que ya tenia en el espacio de trabajo, dicha tabla es esta:

tbl =

1000000×2 table

Alguna idea de que puede ser el error?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 8 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Conteo de pares de coordenadas

Publicado por Alfredo Salinas (5 intervenciones) el 14/04/2020 22:37:25
Ya quedó, solo tenía que asignarle previamente el nombre a las variables.
Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar