サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
贈る言葉
webbeginner.hatenablog.com
R言語のちょっとした使い方のヒントです。今回は複数の行列(matrix)を結合するための関数rbindとcbindを紹介します。 rbindとcbind rbindとcbindの違いは結合の方向です。rbindは縦につなげて、cbindは横につなげます。データ解析で行列オブジェクトを使用する際は、列に変数、行にケースを割り当てるのが典型的だと思います(図を参照)。 図:行列オブジェクトで変数とケースを設定する 使用上の注意 rbindなら結合する行列の列数、cbindなら行数が合っていないとerrorが出ます。 #3種類の行列オブジェクトを用意 matA <- matrix(1:9,ncol = 3, nrow =3) matB <- matrix(10:15,ncol = 2, nrow =3) matC <- matrix(16:21,ncol = 3,nrow=2) #rbind r
今回は、以前紹介したjupyter notebookでRを使うための設定方法を再び紹介します。macを買ったので、新たに設定しようとしたところ以前とはだいぶやり方が違ったので、2017年1月版として紹介します。 今回のインストール環境 OS: macOS Sierra 10.12.2 python 3.5.2 R 3.3.2 jupyter 4.2.0 anacondaのインストールが便利 前回jupyterを設定したときは以下のように順番にインストールを進めました。 python 2.7.2のインストール ezinstallパッケージのインストール ezinsallを使ってpipのインストール pipを使ってjupyterのインストール 今回はanacondaというpython用の環境構築パッケージをインストールするだけです。これでjupyterのインストールまでが済んでしまいます。以下
今回は、回帰分析を実用する上で気をつけたい問題の1つである多重共線性について考えます。 多重共線性って? 回帰分析では、一つの従属変数(予測される変数)に対して一つ以上の独立変数(予測する変数)を構成して予測モデルとします*1。このとき、予測する変数を「独立変数」と呼ぶように、予測する変数の間には関連性がない(つまり独立)ことが想定されています。複数の変数で予測するなら似たような者同士ではなく、異なるもので予測したほうが意味があると思えるので、この想定は納得のいくものです。 しかし、社会科学領域でしばしば起こるのですが、何かの調査項目同士にはある程度相関関係が見られます。 ここで相関が少しでも高いと直ちに回帰モデルが作れないわけではなく、ある程度は独立変数間に相関があっても分析可能です。しかし、独立変数間に極端に高い相関があると、予測そのものが不安定になることがあります。例えば、独立変数に
今回は、t検定の検出力について簡単なシミュレーションの結果を紹介します。検出力とは、帰無仮説を棄却することが真である状況で、正しく帰無仮説を棄却できる確率のことです。*1 今回紹介するt検定の場合、二群が同じ母集団を持つことを帰無仮説とします。異なる母集団を持つのであれば、これを高確率で検出したいわけです。 t検定の検出力 一般に、二群の平均値の差や分散を固定すると、二群のサンプルサイズを大きくするほど検出力が高まります。R言語では、power.t.testという便利な関数があって、検出力を計算できます。例えば、二群の差が1で、分散がそれぞれ1.5の場合の検出力を求めるには以下のように書きます。 #サンプルサイズ N=10の場合 power.t.test(10, delta = 1, sd = 1.5, type = "two.sample") #サンプルサイズ N=50で対応のあるt検定
入力フォームを記入して、別のプログラムへ送信するときのボタンですが、formの中にあるか外にあるかで動作が異なります。若干はまったので、メモ代わりにまとめておきます*1。 formの中のbutton formの中にbuttonを設定するとクリックしたときに、submitされて、リロードされます。formの状態が初期値に戻ってしまうことに注意しましょう。(下のサンプルの1のボタン) HTML <form id = "test"> <tr><td> <select id = "selectBox"></select> </td></tr> <button onclick = "load1();">1</button> </form> JavaScript function load1(){ var loadtext = document.getElementById("selectBox").
Reveal.jsはスライドプレゼンテーションのためのJavaScriptライブラリです。 以前、Reveal.jsを利用したプレゼンテーション - jnobuyukiのブログで基本的な使い方を紹介しました。 今回は、もっとよいプレゼンを目指すためのTipsです。 画面の幅に対しての文字列の幅 デフォルトのパラメータを使用するだけで、快適なプレゼンテーションを行えます。スライド間の遷移や図、D3.jsを利用して描画したSVGオブジェクトなどどんなDOMオブジェクトもほぼ狙い通りに提示できます。唯一、不満だったのは、文字列の幅が狭いと感じることです。私はプレゼンの際、1920x1080のワイドスクリーンに設定したラップトップを使っています。それでプレゼンでReveal.jsを利用すると、画面に対して文字列の幅は半分くらいしかないように見えます。もっと両端に近いところまで提示したくてもできませ
大量のデータをまとめて、視覚的に表現すると、データが持つ特徴を直感的に理解できることがあります。今回は、データを視覚化する際に施される「正規化」について考えます。wikipediaの正規化の定義は以下のようになっています。 正規化(せいきか、英: normalization)とは、データ等々を一定のルール(規則)に基づいて変形し、利用しやすくすること。 この定義は非常に抽象度が高いですね。その理由についてwikipediaは以下のように述べています。 非常に多くの分野で使われている言葉で、分野によって意味も大きく異なるため、頻度が高い分野についてそれぞれ個別に説明する。 今回は、数量の正規化に話を限定します。しかし、数量の正規化に絞るだけでは、まだその意味がはっきりしません。正規化する方法が沢山あるからです。私の専門の心理学では、行動データとして得たものを多変量解析にかける前に正規化するこ
以前、データの正規化にはいろいろな方法があることを述べました。 数量の正規化:方法の違いは何を意味するか? - jnobuyukiのブログ いろいろな正規化をやってくれるコマンドにR言語のscale()があります。 この関数は、何も考えずに使ってもそれなりに動きます。 しかし、引数として含まれるパラメータを利用すると、もっと便利です。 scale()の引数 scaleには3つの引数があります。 1. 行列(matrix)オブジェクト: ここに当てはめた変数を正規化します。 2.center: パラメータの値として3種類あります。 TRUE: デフォルトの値です。行の平均値を全てのケースから引きます。 FALSE: 引き算をしません。 数値ベクトル: 数値ベクトルの値をケースのそれぞれから引きます。 3. scale: centerと同様3種類の設定が可能です。 TRUE: デフォルトの値で
問題:ブラウザからローカルファイルへのアクセス JavaScriptを使ってブラウザからローカルファイルにアクセスしたいとします。ブラウザによっては、これがすぐにできません。なぜなら、ローカルファイルへのアクセスがブラウザのセキュリティポリシーとして禁止されているからです。今日は、この問題の解消策をまとめてみます。なお本ブログでは、特に断りがない限り、Windows環境でGoogle Chromeをブラウザとする場合を考えます。 解消策1: ブラウザのデフォルトセキュリティポリシーの変更 ブラウザのセキュリティポリシーで禁止されているのなら、そのポリシーを変更してしまおうという方法です。Chromeの場合起動オプションの変更は、Chromeの起動時に行います。ローカルファイルアクセスを許可するコマンドは、 --allow-file-access-from-files です。Chromeのシ
R言語で作業をしていて、つまらないことに時間がかかったので、次回以降の作業用にメモしておきます。 列名、変数名の取得と設置:colnames(),names() R言語では、データ行列を保存できるオブジェクトが二種類あります。行列(matrix)とデータフレーム(data.frame)です。どちらもcolnames()かnames()で列名、変数名を取得・設定できます。でも、いわゆるGetSet関数とは違い、少しクセがあります。それぞれのオブジェクトでcolnames()の動作を見てみましょう*1。 行列オブジェクトの場合 まずmatrix()でオブジェクトを作ってみます。 mat <- matrix(1:12, nrow = 3, ncol = 4) print(data) [,1] [,2] [,3] [,4] [1,] 1 4 7 10 [2,] 2 5 8 11 [3,] 3 6
解析をテキストファイルで出力してから、MSエクセルに貼り付けてグラフにということがあります。これをGoogle Spread Sheetsで行う方法のメモです。 split() split(分割したいセル, 区切り文字) これだけです。 例えば a1に"1,2,3,4,5"という文字列が入っている場合、 b1に=split(a1, ",")とすればb1からf1にかけて1,2,3,4,5が分割されてセルに入ります。 注意:連続する区切り文字は1つと認識 実際にやってみると区切り文字が連続しているところでは、一回だけ区切られています。 区切り文字を一つ一つ認識して分割する方法を見つけたら追記します。 2014/09/22追記 連続する区切り文字への対処 連続する区切り文字がある場合に、その文字の数だけ分割したいときもあります。これに対処する一つの案として、substituteを組み合わせる方法
学会発表などでスライドをつくるための定番ソフトウエアといえば、パワーポイントとキーノートです。最近は、Preziを使う人も増えてきました。 Prezi - Presentation Software JavaScriptライブラリを利用すれば、どちらの形式のスライドも作れます。パワーポイントに似ているのがReveal.js、PreziににているのがImpact.jsです。PreziやImpact.jsは、上手に使わないと単に目の回るスライドになりがちです。今回は、Reveal.jsの使い方をまとめます。 Reveal.jsとは Reveal.jsはHakim El Hattab(@hakimel)の開発したライブラリです。以下のウエブページでは、RevealでできることがRevealを利用したスライドの形式で示されています。 reveal.js - The HTML Presentatio
昨日のニュースでGoogleが、Chromebookの日本販売を開始すると聞きました*1。 ChromebookはChromeOSを利用しており、PCの中にソフトをインストールするというよりも、クラウド上のウエブアプリケーションをつかうという考え方で設計されています*2。こういう「とがった」設計思想は大好きなので、ぜひ応援したいところです。そして、ぜひ成し遂げてもらいたいことがあり、応援も兼ねて、論文執筆でGoogleドキュメントをどうやって使いたいかをお話します。 研究にChromebookを導入するのが難しい理由 最大の問題は、MSオフィスのシェアが高すぎることです。私は論文を最初に書く際には、MSオフィスではなく、単純なテキストエディタを利用しています。なので、一人で文書作成している段階では、ChromebookからGoogleDrive内のファイルを編集という方法もとれます。しかし
今回は、統計学の知識があまりない人向けの記事にしようと思います。昨今のデータが社会中に溢れている環境では、データから上手に自分の知りたい情報を抜き出せるかどうかが重要だと思います。その時に、統計学に基づいた意思決定やデータの解釈を行うのが良さそうに見えます。そこでデータ分析が必要になるわけですが、自分自身に統計学の知識がなければ、他の人に分析をお願いすることもあるでしょう*1。今回は統計用語をできるだけ使わずに、でも統計学の知識の使い方に関するイメージをお伝えしたいと思います*2。 p値のpは? pは確率、probabilityを表しています。確率なので、pは0から1の値をとります。 何の確率なの? ここがとても理解しにくいところです。まずは、これが「ある仮定の元で現在手にしているデータが観察される」確率と考えましょう。確率が高いということは、その仮定の元で今持っているようなデータが出てき
今回は、このブログで取り上げているwebアプリケーション技術(Javascript, D3.js, Google Chartsなど)が私のような研究者にとってどのような可能性を持つのかを考えてみたいと思います。 webブラウザは、ご存知の通り、インターネットを閲覧するためのインターフェイスです。ブラウザを通して、世界中の情報にアクセスできます。しかし、近年のwebアプリケーション技術の進歩によって、ブラウザは文字と画像以外のものを提供できるようになりつつあります。 このような感想は私だけのものではありません。例えばGoogleでChromeの開発をされている及川卓也氏は日経電子版の記事で、Googleの流儀としてのイノベーションについて発言されています。それによれば、「webブラウザはインターネットを閲覧するためのビューアである」という固定観念を捨て、「インターネットの入り口であり、情報の
このページを最初にブックマークしてみませんか?
『jnobuyukiのブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く