2009-01-29[n年前へ]
■「数字で語る」と「プロフェッショナル」
中谷巌 「入門マクロ経済学 第三版」を読んでいるとき、「内容を理解・使うことができるようになっているか、それとも、そうでないかが、数字の収支を眺めてみると、あるいは違う例を用いて頭の中で考えてみると、自動的に明らかになってしまう。
だから、この本をとても本当の意味で「なんて理解しやすいんだろう」と感じたとき、ふと「今井功の「当然!」「○」「?」」を思い出した。
「わからないこと」を無理してわかろうとしない方が良いんだ「わからないこと」というのはたいていどこかおかしい。単独の定性的なことがたくさん集まって、実際の現象は動く。だから、いくつもの項目を組み合わせたことを、定量的に話すことができなければ、きっと何かを作ることはできないのだろう。
今井功
数値で語れなければ、プロとは言えない。
今井功
2009-04-20[n年前へ]
■自分や世界にまつわる基本的なことへの答えを作る
しりあがり寿の「表現したい人のためのマンガ入門 (講談社現代新書) 」から。
その場その場で対処療法的な「言葉」があふれてて、そこらへんからいいとこどりしてきたって絶対追っつかない。自分も世の中もどんどん変わる中でつぎはぎの価値観じゃしんどい、しんどい。なんかいろいろよくわからなくなって、リアリティがないってことになっちゃう気がします。
だからウソでもいいから、人間はやっぱり自分や世界にまつわる基本的なこと、「なぜ生きるか」とか「世界って何なの?」とか、そういったことに自分なりの答えを出して、それなりに納得して了解しといたほうがいいと思うのです。
「しりあがり寿」をマネージメントする
■「あなた」に薦めたい「しりあがり寿のマンガ入門」と「山田ズーニーのおとなの小論文教室。」
心の中に「何かはわからないけれど、何かをしたい」という気持ちををうっすら抱えている人、「何かをしたいけれど、どうしていったらいいのかよくわからない」という悩みを抱えているひと、「今のままで、このままで、本当にいいのだろうか」と考える時があるひと、そんな「あなた」に心から読んで欲しい・薦めてみたいと思うのが、しりあがり寿の「表現したい人のためのマンガ入門 」と山田ズーニーの「おとなの小論文教室。(1)~(3)」です。これらの本の中には、タイトルからはわかりづらい、素晴らしい内容が詰まっています。
しかし自分には決定的な問題点がありました。「やりたいもの」がハッキリしないのです
しりあがり寿 「表現したい人のためのマンガ入門」
しりあがり寿の「マンガ入門」が私たちに教えてくれることは決して「マンガの描き方」ではありません。そして、山田ズーニーの「おとなの小論文教室。」が私たちに伝えようとしていることも、「小論文の書き方」ではないのです。
「表現したい人のためのマンガ入門」と「おとなの小論文教室。」に書かれていることを、それをひとことで言えば、雑な表現であることを覚悟の上で一文で書けば、それは「生きていくためのコツ」「自分の活かし(生かし)方」を教えてくれる本・文章です。「自分」を知り、自分以外の世界を知り、そして、その世界の中での自分を見失わず歩いて行くためのアドバイス、が繰り返し書かれています。
自分がいま、この手で紡ぎだせないものを、自分にはちゃんとイメージする力がある。山田ズーニーは、痛々しいほど真摯にとても力強く、かつひどく繊細な言葉を重ねて。そして、しりあがり寿は、非常に論理的でいて、それでいて限りなく自然なバランスで気楽な書き方で。二人のスタイルは180°ほどに異なっているように見えても、二人が書いたこれらの本は、いずれもが同じ「自分の可能性・潜在力を見つけること」「自分を表現する・活かすこと」「他の人に伝え・繋がること」、それは一体どういうことなのかということを教えてくれます。
それが、未知で・独特で・自分で作り出すしかないから、こんなに駆り立てられるのだろう。自分で作らなければ「無い」ものだから絶望するのだろう。
山田ズーニー
「17歳は2回くる おとなの小論文教室。(3)」
人間はもともと、何かのために生まれるものではありません。何かの職業につくとか、何かの使命を果たすとか、生まれながらにして決まっていることは何もない。ただし、あえて生まれてきた目的はといえば、生まれたこの世界に受け入れられること、それ自体じゃないでしょうか。
しりあがり寿 「表現したい人のためのマンガ入門」
それにしても、しりあがり寿のバランス感覚には驚かされます。不思議に敏感な感性と、データに裏付けされた論理と予測、そして、それらをまとめる絶妙なバランス感覚は、男性の私から見るとある意味で理想の大人に思えます。
読者に見捨てられると食えないから、でもとりこまれると自分を見失うから、読者とつながる小指一本に力をこめます。
自分のどこが悪いか考えることがあります。直さなきゃいけないところから順に並べたりして、でも面倒くさくなって、ほうってしまいます。
いろいろ書いてきたけれど、…必要なのは、馬が走るように、犬が吠えるように、人が祈るように、ひとコマひとコマ、1ページ1ページ、まるで息をするようにマンガを描き続けること。ただそれだけかもしれません。
しりあがり寿 「表現したい人のためのマンガ入門」
2009-05-09[n年前へ]
■「野球の統計データ」を通して眺める「統計解析の基本と仕組み」
山口和範「図解入門 よくわかる統計解析の基本と仕組み―統計データ分析入門 」は、わかりやすい本です。けれど、この本の読んでいて感じる面白さは「わかりやすさ」より、「心で感じることができる楽しさ」にあると思います。
どういうことかというと、この本にに出てくる例は「現実に即した例」で、それが工場の不良品率とかいった役に立つけれど「私たちの仕事から離れた趣味」とは必ずしも繋がらないような例ではなく、「私たちの私たちの趣味」と繋がるような、「(本当に)実際の野球選手にまつわるさまざまなデータ」なのです。不思議なくらい、そんなデータで「相関」や「主成分分析」などの話題が説明されていくのです。面白い本です。
まずは、本塁打とフォアボールの数の関係を示したグラフが下の図になります。たとえば、このデータの場合イは、「本塁打を打つ選手は(に対しては)、フォアボールが多い」という直観・実感に即したデータです。ホームランバッターにはボール球を多く投げたくなる状況が多いでしょうから、これはごく自然なデータでしょう。ちなみに、ここで言うホームランバッターというのは、本塁打数が20本を超えるような選手だということがこのグラフからわかります。
ところが、次の「本塁打」と「死球(デッドボール)」の関係グラフを眺めてみると、少し意外に感じます。ホームランバッターには危険球ぎみのボールを投げ、その結果デッドボールが多くなるかと思いきや、そういうわけではないようです。・・・考えてみれば、死球が多く、その結果怪我をしがちだったりしたら、ホームラン(本塁打)を多く打つことができなくなってしまうわけですから、これもよくよく考えてみればあたり前なのかもしれません。
というわけで、ここまでは、よくよく考えてみると自然に納得できるデータです。次のまだ「関係がよくわからないデータ」は、打率と三振の関係を示したデータです。高打率を誇る選手は三振が少なそうに思えるのですが、そういうわけではないようです。どういう状況があることで、こういう関係が成り立っているのでしょうか。
直接私たちの何かの役に立つわけでもない「野球の統計データ」を通し、私たちが直接役に立てることができる「統計解析の基本と仕組み」を学ぶのは、何だか楽しく思えます。
2009-06-22[n年前へ]
■ドラッグ&ドロップしたファイルからデータを抽出するRubyスクリプト・サンプル
「ささやかだけれど、役に立つこと」が、きっとあるだろう、と思っています。本屋に行けば、たくさんHOW TO本が溢れています。けれど、意外に、HOW TO本という割には、そこにはスローガンのような曖昧なことしか書かれていないことも多い、と感じることがあります。あるいは、Geek好みではあるけれど、そうでない人を想定読者にしていない本も多いように思います。
今日は、「(Windowsで)ドラッグ&ドロップしたテキスト・ファイル中から特定の行・列を抽出するスクリプト」のRubyサンプルを書いてみました。つまりは、誰でもすぐに書ける使用例です。・・・とはいえ、実験データの解析をしようとすると、必要になることが多そうなサンプルです。
けっしてすごいことができるわけではありませんが、意外にこんなスクリプトを実際に使い・役立てて、そして自分で道具を作り始めることのきっかけのひとつになる可能性もあるかもしれないと思い、書いてみました。
下のスクリプトは、HEADER_LINE_NUMで定義した行より後の行から、(スペースで区切った時の)2・3列目だけを抽出したcsvファイルを作ります。もしも、1,9行目をコメントにして、2,10行目をコメントアウトすると、pickupLineで定義した行からだけデータを抽出します。何だか、こんな説明を書くことも、少し気恥ずかしく感じてしまうようなサンプルですが、けれど、意外にこういう入門の入門の情報が「ささやかだけれど、役に立つこと」なのかもしれないと思い、ふと仕立ててみました。
HEADER_LINE_NUM=5 #pickupLine=[23,24,26,28] ARGV.length.times{ |i| data=[] filename=ARGV[i] open(filename) {|file| lineNum=1 file.readlines.each{|line| if lineNum>HEADER_LINE_NUM # if pickupLine.include?(lineNum) lineData=line.split(' ') data<<[ lineData[2], lineData[3] ] end lineNum+=1 } } isFirst=true f=File.open(filename.gsub('.txt','')+'.csv','w') data.each{|l| if isFirst f.puts 'a,b' # print caption isFirst=false end f.puts l[0].to_s+','+l[1].to_s } f.close }