2015-04-24 2 views
0

У меня есть набор данных (в области 800000 строк), в трех столбцах (долгота, широта и величина землетрясения), которые не отсортированы каким-либо образом. Небольшой пример ниже ...Количество частот гистограммы для столбца

-118.074 36.930 2.97 
-118.005 36.898 2.61 
-116.526 36.621 2.72 
-116.488 36.650 2.68 
-117.675 36.820 2.00 
-117.963 36.514 1.30 
-118.090 36.757 1.94 
-117.651 36.518 1.40 
-116.434 36.506 1.90 
-117.914 36.531 2.10 
-118.235 36.882 2.00 

Я обязан создать гистограмму магнитуд землетрясений (в диапазоне от 1,0 до 7,0), но я не уверен, как идти о создании частоты величин.

Я понимаю, что для создания гистограммы мне нужно будет различать уникальные значения и устанавливать их в порядке возрастания в столбце. Я считаю, что я могу запустить команду for с функцией count для каждого значения ... но мне нужно немного помочь в этом!

Благодарим за помощь, которую вы можете предложить!

+2

Вам просто нужно, чтобы сохранить счетчик последнего поля: '{подсчитывать [$ 3] ++}' –

ответ

0

awk '{counts[$3]++} END {for (c in counts) print c, counts[c]}' inputs.txt | sort -nk2

будет печатать уникальные величины и их подсчета в порядке возрастания:

1.30 1 
1.40 1 
1.90 1 
1.94 1 
2.10 1 
2.61 1 
2.68 1 
2.72 1 
2.97 1 
2.00 2