TVアニメ「博多豚骨ラーメンズ」CM(馬場ver.)
アニメ『博多豚骨ラーメンズ』
今期一番好きなアニメです。
前回の続きです。アルファベットの出現数を総数で割って比率を求めます。
takk@deb9:~$ fold -b1 /usr/share/dict/words | sort | uniq -c | tail -n+3 1288 A 1247 B 1419 C 734 D 596 E 455 F ~省略~ takk@deb9:~$
前回はここまで求めました。
左側にアルファベットの数、右側に該当するアルファベットとなっています。
まずは、総数の計算。awkで左側の数字は、$1に格納されているので、変数sに加算していきます。
takk@deb9:~$ fold -b1 /usr/share/dict/words | sort | uniq -c | tail -n+3 | awk '{s+=$1}END{print s}' 812912 takk@deb9:~$
アルファベット総数は、812912でした。
この数字を覚えておいて、計算式に組み込みっというのも手ですが、覚えられないので変数で覚えることにします。
次は、各アルファベットをキーにして連想配列にカウント数を格納します。右側のアルファベットは$2に格納されてますので、h[$2]=$1とするだけで格納できます。
ENDブロックで連想配列に格納したカウント数を総数で割って、比率(%)に変換します。
takk@deb9:~$ fold -b1 /usr/share/dict/words | sort | uniq -c | tail -n+3 | awk '{s+=$1;h[$2]=$1}END{for(key in h){print h[key]*100/s}}' 0.158443 0.153399 0.174558 0.0902927 0.0733167 0.0559716 0.0885705 0.0925069 0.042194 0.0606462 0.0715945 0.10284 0.191903 0.0637215 0.0441622 0.113173 0.00799595 0.0863562 0.178371 0.100749 0.0159919 0.0397337 0.0557256 0.00479757 0.017099 0.017222 7.76849 1.75652 3.74616 3.41944 10.8544 1.25721 2.70534 2.28413 8.19806 0.178986 0.962835 4.95392 2.57691 6.96582 5.97666 2.62685 0.179478 6.96816 10.9068 6.41976 3.1969 0.94303 0.870574 0.256485 1.53928 0.386389 takk@deb9:~$
この数字合ってるでしょうか。全部足して答えを確認してみましょう。
takk@deb9:~$ !! | awk '{s+=$1}END{print s}' fold -b1 /usr/share/dict/words | sort | uniq -c | tail -n+3 | awk '{s+=$1;h[$2]=$1}END{for(key in h){print h[key]*100/s}}' | awk '{s+=$1}END{print s}' 99.9999 takk@deb9:~$
約100ということで、合格ですね。
では最後に、アルファベットと並べて表示してみましょう。
takk@deb9:~$ fold -b1 /usr/share/dict/words | sort | uniq -c | tail -n+3 | awk '{s+=$1;h[$2]=$1}END{for(key in h){printf"%s %5.2f%\n", key,h[key]*100/s}}' | pr -t4J A 0.16% N 0.06% a 7.77% n 6.97% B 0.15% O 0.04% b 1.76% o 5.98% C 0.17% P 0.11% c 3.75% p 2.63% D 0.09% Q 0.01% d 3.42% q 0.18% E 0.07% R 0.09% e 10.85% r 6.97% F 0.06% S 0.18% f 1.26% s 10.91% G 0.09% T 0.10% g 2.71% t 6.42% H 0.09% U 0.02% h 2.28% u 3.20% I 0.04% V 0.04% i 8.20% v 0.94% J 0.06% W 0.06% j 0.18% w 0.87% K 0.07% X 0.00% k 0.96% x 0.26% L 0.10% Y 0.02% l 4.95% y 1.54% M 0.19% Z 0.02% m 2.58% z 0.39% takk@deb9:~$
コメント