count the values based on ID and create a new matrix

4 views (last 30 days)
Input:
LAT LON VALUE
12.4 91.4 4
31.4 45.6 1
45.9 91.5 2
18.4 96.4 3
11.4 75.6 2
25.9 51.5 4
12.4 91.4 4
31.4 45.6 2
45.9 91.5 2
As you can see some of the lat lon's are repeated with different values, so I want to know for a lat lon, how many times (count) a values is observed. I have a input matrix of (90,000, 3)
LAT LON cnt = 1 cnt=2 cnt=3 cnt =4
12.4 91.4 0 0 1 2
31.4 45.6 1 1 0 0
45.9 91.5 0 1 2 0
18.4 96.4 0 0 1 0
11.4 75.6 0 1 0 0
25.9 51.5 0 0 0 1
I tried table, I could not figure out.
  9 Comments
nlm
nlm on 10 Feb 2019
I have already tried it, as mentioned earlier. It does not give me the form that I'm looking for. I need it like this
LAT LON cnt = 1 cnt=2 cnt=3 cnt =4
12.4 91.4 0 0 1 2
31.4 45.6 1 1 0 0
45.9 91.5 0 1 2 0
18.4 96.4 0 0 1 0
11.4 75.6 0 1 0 0
25.9 51.5 0 0 0 1

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 10 Feb 2019
Use unique() to get unique rows. Then for each unique row (lat,lon combination), call histogram.
  3 Comments
nlm
nlm on 10 Feb 2019
Edited: nlm on 10 Feb 2019
I did, doesn't help.
Error in matlab.graphics.chart.primitive.Histogram/get.BinCounts

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by