jnobuyukiのブログ

研究していて困ったことやその解決に関するメモ。同じように困ったあなたのために。twitter ID: @j_nobuyuki

2014-01-01から1年間の記事一覧

加法混色と減法混色

今回は色を混ぜるという話です。色を混ぜるといっても二種類のやり方があるので、それを整理しながら、D3.jsでSVGオブジェクトの色を変換する方法を紹介します。 混ざると明るくなる加法混色 混ざると明るくなるのは、いわゆるRGBに基づく色の場合です。光の…

R言語を使った第1種の過誤のシミュレーション

心理学では、データに基づく仮説の証明に統計学を利用します。帰無仮説と呼ばれる、当初の仮説とは正反対の仮定から始めて、それが確率的に非常に低いことを示し、その結果から当初の仮説の妥当性を確認するというロジックになっています。しかし、「確率的…

SVGオブジェクト上のテキストの改行

SVGオブジェクトでたくさんのテキストを表示をする場合、\nのような改行コードが認識されません。 仕様で改行ができないようです。でもD3.jsを利用すれば比較的簡単に改行を行うことができます。 テキストの準備 ここでのポイントはテキスト全体を改行位置で…

Googleドキュメントで変更履歴を残しながら文書を編集

昨日のニュースでGoogleが、Chromebookの日本販売を開始すると聞きました*1。ChromebookはChromeOSを利用しており、PCの中にソフトをインストールするというよりも、クラウド上のウエブアプリケーションをつかうという考え方で設計されています*2。こういう…

Reveal.js 文字列幅(折り返し位置)の変更

Reveal.jsはスライドプレゼンテーションのためのJavaScriptライブラリです。 以前、Reveal.jsを利用したプレゼンテーション - jnobuyukiのブログで基本的な使い方を紹介しました。今回は、もっとよいプレゼンを目指すためのTipsです。 画面の幅に対しての文…

R言語における最頻値の求め方

ある数値データの集団の代表性を示す方法には、(加算)平均、中央値、最頻値の3つがあります。 今回は最頻値の求め方を紹介します。 平均、中央値、最頻値 3つの代表値の違いをまとめておきます。 平均: すべてのデータの数値を加えた合計をデータの数で割…

単語のつづりの記憶(2):なぜ英語の綴りの記憶が難しいのか?

英語の綴りを途中でいったん止めて、続きをつなげて書くよりも、最初から書きなおす方が簡単であるという話の続きです。今回は、特に英語の単語の綴りを覚える際に、綴りより運動の記憶に頼りがちであるかを考えてみましょう。 文字と音韻の対応関係の明瞭さ…

単語の綴りの記憶(1):綴りの記憶は文字の並びの記憶か?

今回は、ある知り合いが「英語のスペルをどうやって記憶するのか」という疑問をSNS上に提示したことに対するコメントです*1。投稿では、英語のスペルをタイプするときに、途中で一度止めてしまうと、その続きを思い出すよりも、初めからタイプし直す方が多い…

パスツールの象限(4):名無しの象限

さて、前回パスツールの象限(3)までで、Stokesの提案した2次元モデルを見てきました。今回が取りあえずの最終回。『パスツールの象限』を読んだ私の感想を述べます。 パスツールの象限は画期的 基礎と応用は2分して考えるのが当たり前と思っていた私にと…

パスツールの象限(3):2次元モデル

前回の投稿では、従来の基礎と応用の研究を1次元的に考える場合の不都合を紹介しました。Stokesは新たな提案として2次元モデルを提案しています。 2次元モデル これまで、基礎と応用は、研究を位置づける直線上の両極端と考えられてきました。これをStokesは…

パスツールの象限(2):基礎と応用の中間

前回、科学研究には、基礎と応用の2種類があることを紹介しました。このような枠組みは、かなり長い間、国家、産業界、学会のいずれにとっても安定していて、自明のことのように思われてきました。しかしStokesは、この枠組みに含まれる矛盾を指摘しています…

パスツールの象限(1):2種類の科学

前回、科学者とそうでない人が考える研究の目的に隔たりがあることを書きました。どうしてそのような隔たりができてしまうのかを、2種類の科学という視点から考えます。 基礎と応用:2種類の科学 一般的に、科学研究は「基礎研究」と「応用研究」に分けて考…

パスツールの象限(0):科学研究への期待

今回から、何回かに分けて、Stokesという人が1997年に書いた『パスツールの象限(Pasteur's Quadrant)』という本の内容を紹介します。 本を読んで考えたことは、既に The empty cell in the quadrant model of scientific research in Stokes (1997). - jnob…

学習経験の功罪

今回は学習経験について考えてみます。 様々な学習 私たちは、日々、何かを学習しています。例えば英単語の学習では、日本語と英語の対応付けを学習します。また、補助なしの自転車の乗り方を覚えるのも学習です。このような学習は、意図的・意識的な学習と…

The empty cell in the quadrant model of scientific research in Stokes (1997).

Today, I am going to introduce a little old but still inspiring book written by Stokes (1997). The title of the book is the Pasteur's Quadrant. Basic and applied research In this book, the author explained differences between basic and app…

質問はなんのためにするのか?

今回は、学校の授業や学術会議、講演会での質問について考えます。 みんな質問で悩んでる この問題には本当にたくさんの人が悩まされているようです。「会議 質問」でウェブ検索すると、質問のコツを伝授してくれるサイトが読みきれない程見つかります。実際…

行列やデータフレームの列名・変数名の変更

R言語で作業をしていて、つまらないことに時間がかかったので、次回以降の作業用にメモしておきます。 列名、変数名の取得と設置:colnames(),names() R言語では、データ行列を保存できるオブジェクトが二種類あります。行列(matrix)とデータフレーム(data.f…

数量の正規化:方法の違いは何を意味するか?

大量のデータをまとめて、視覚的に表現すると、データが持つ特徴を直感的に理解できることがあります。今回は、データを視覚化する際に施される「正規化」について考えます。wikipediaの正規化の定義は以下のようになっています。 正規化(せいきか、英: nor…

Google Chartsのtransitionアニメーション

グラフにアニメーションを適用して、分かりやすく示すと言えば、このブログでは今のところd3.jsの独壇場です。でも、もちろんそれ以外のライブラリも利用できます。今回は、Google chartsのtransitionを使ってみます。 ポイント:インスタンス生成は最初の一…

Google Chartsを利用したヒストグラムの作成

Google Chartsでは、前に紹介した棒グラフ以外にもいろいろなグラフのAPIが用意されています。今回は、分析の初期段階でよく使うヒストグラムの作り方です。ポイントとしては、驚くほど簡単につくれるということ。なぜか?それは前回の棒グラフのコードの大…

D3.js transition()でtranslateとcx,cyの上書きの違い

D3.js の面白い点の一つが、transition によるアニメーションです。DOMツリーの中の任意のノードを選択し、位置、色、大きさなどを変更できます。色々なtransition を試しているうちに、少しコツがあることに気づいたので、今回はそれを紹介します。 transit…

d3.jsを利用した棒グラフの作成(1)

D3.jsを利用して棒グラフを作成する手順をまとめておきます。 今回は、前にGoogleChartsを利用した棒グラフを作成したときの気温データを使いましょう。 準備:データリストの作成 var data = [ ["date","tempmax","tempmin"], ["12/11",12.8,7.3], ["12/12"…

D3.jsを利用したテーブルの作成

集計したデータを表にする場合、Tableノードのtr,th,tdノードに数値を埋めていく必要があります。 これを自動化するためD3.jsを利用してみましょう。 HTML Tableノードの構造 一番外にくるのがtableノードで、その内側にtrノードが来ます。trノードは一行に…

Reveal.jsを利用したプレゼンテーション

学会発表などでスライドをつくるための定番ソフトウエアといえば、パワーポイントとキーノートです。最近は、Preziを使う人も増えてきました。 Prezi - Presentation Software JavaScriptライブラリを利用すれば、どちらの形式のスライドも作れます。パワー…

研究における「車輪の再発明」

「車輪の再発明」という言葉があります。 既に発明されているものを活用しないで、同じようなものを自分でゼロから作ってしまうことを言います。IT 業界でよく使われる表現で、別の人が作った機能をうまく利用しながら新しい機能やサービスを作るために「車…

ビット演算子の使い方(初歩)

JavaScriptを扱うようになるまで、ビット演算子のことは「聞いたことがある」というくらいに知らなかったのです。少し調べてみたら便利そうなので、ここで使い方をまとめます。 ビット演算子とは? 要は二進数、0と1で構成される32ビット列への操作です。つ…

audio要素の使い方

今回はHTML5のaudio要素の使い方を簡単に紹介します。ウエブ上で音声ファイルを実行したい場合、HTML5以前は何らかのプラグインを導入する必要があったようです。しかし、HTML5でaudio要素が導入されて、その必要がなくなりました。ウエブ上では、Web Audio …

SVGオブジェクトの重なり統制が不完全なことへの対処

このブログではSVGオブジェクトをよく取り上げてきました。いわゆるペイントのようなソフトなしで図形を描けるので、とても便利です。しかし、不便なこともあります。その一つが重なり順序の統制の問題です。 SVGオブジェクトの重なり順 単一のSVGオブジェク…

d3を利用した読書中の眼球運動データの可視化

今回は、読書の話をします。読書中、あなたの「意識」はどんなふうに進んでいると感じますか?私は、特に難しい言葉などがなければ、一定のスピードで言葉を理解していると感じます。「流れるように意識が文字の上を通り過ぎていく」というのが感覚的にぴっ…

すべてWebで‐研究のためのWebアプリケーション技術‐

今回は、このブログで取り上げているwebアプリケーション技術(Javascript, D3.js, Google Chartsなど)が私のような研究者にとってどのような可能性を持つのかを考えてみたいと思います。webブラウザは、ご存知の通り、インターネットを閲覧するためのイン…