jnobuyukiのブログ

JavaScriptとR言語を中心に研究活動に役立つwebアプリケーション技術について考えていきます。twitter ID: @j_nobuyuki

R言語

R言語で複数のスペースで区切られたデータを読み込む

今回は本当にちょっとしたことですが、ハマる内容なので皆様と共有します。 read.table関数でテキストデータを読み込む データ分析をするときに、何かのアプリケーションで作成したテキストデータをRに読み込ませることがあります。もっとも汎用的な関数はre…

R言語での変数の型確認の重要性(3)

前回、R言語で変数型を意識した方が良い例として重回帰分析を紹介しました。その投稿を見てくれた知り合いが、自身の失敗談を教えてくれたので、今回はその話をします。知り合いの話では、「本来数値データとして独立変数に入れるつもりが、なぜかファクター…

R言語での変数の型確認の重要性(2)

前回、R言語では変数の型を明示的にしていしないので、注意が必要だという投稿をしました。 今回は、型変換に気をつけたほうが良い例として回帰分析をとりあげます。 回帰分析 回帰分析は、ある変数を別の変数で予測に用います。予測に使用する変数の値に適…

Jupyter notebookでRを使う:2017年1月版

今回は、以前紹介したjupyter notebookでRを使うための設定方法を再び紹介します。macを買ったので、新たに設定しようとしたところ以前とはだいぶやり方が違ったので、2017年1月版として紹介します。 今回のインストール環境 OS: macOS Sierra 10.12.2 …

サンプルサイズが条件ごとに異なる一要因分散分析

今回は、一要因分散分析について考えます。典型的な教科書では、分散分析の条件ごとのサンプルサイズが揃っている場合を扱います。もしも条件ごとのサンプルサイズが大きく異なる場合はどんな問題に気をつければよいかを見てみましょう。ちなみに似たような…

R言語での変数の型確認の重要性(1)

今回は、R言語で統計解析を学び始めた人にとって分かりにくい点について書きます。 Rの変数オブジェクトは型宣言しないが、型がある Rは、統計パッケージアプリケーションという捉え方と、データ処理のためのプログラム言語という捉え方があります。後者に関…

rmarkdownファイルのテキストで改行する方法

今回は、非常に細かい話。テキスト改行のほんのちょっとしたコツです。 改行しているのに反映されない 「テキストを改行したければ、returnキーを押せばいいのでは?」と思う方もいるとは思いますが、RStudio内のrmarkdownファイルでは、ファイル内で改行し…

三平方の定理で理解する回帰分析における分散の分解

今回は、回帰分析の細かいモデルの話を中学校で習う「三平方の定理」を利用して考えてみます。 最小2乗法による推定 回帰分析では、最小2乗法という計算方法で、回帰直線をひくための2つの推定値(切片と傾き)を決めます。何を最小にするかというと実際に…

相関と回帰は何が違うか?

今回は、相関分析と回帰分析は何が違うのかを考えます。 相関と回帰の共通点、類似点 相関分析と回帰分析はどちらも、2つの連続量変数(数量型データ)の関係を調べるために行います。ここでの「連続量変数」とは、単に数字で表したデータという意味ではな…

RStudio バージョン1.0でインタラクティブな解析

今回は、R言語を便利に操作するためのアプリケーションRStudioについてです。いよいよバージョン1.0になったRStudioにできた新機能を試してみます。 Rmarkdownファイルを利用した解析(旧バージョン) RStudioの便利機能の一つにRmarkdownファイルによる解析…

多重共線性によって重回帰分析の推定は不安定になる(のはなぜか?)

今回は、回帰分析を実用する上で気をつけたい問題の1つである多重共線性について考えます。 多重共線性って? 回帰分析では、一つの従属変数(予測される変数)に対して一つ以上の独立変数(予測する変数)を構成して予測モデルとします*1。このとき、予測…

R言語で区切り文字による文字列の分割

今回は、区切り文字を指定して、文字列を分割してリスト化する方法を紹介します。 strsplit関数 strsplit関数を使うと任意の文字を区切り文字として、文字列を分割できます。例えば以下のように使います。 input <- "abc def ghi" res <- strsplit(input, " …

Dockerを利用してRStudioのRマークダウンファイルを使う

今回は、かなり技術的な内容です。Dockerを利用しながら、RStudioのRマークダウンファイルによる解析環境を構築します。ポイントは、日本語フォントが入っていてもきちんとPDF出力がなされるところです。 Dockerって? Docker社が提供しているサービスです。…

R言語でサイズの大きいファイルの読み込み

今回は、ファイルの入力に関するヒントを書きます。 ファイルからの入力はread.table関数 R言語では、baseパッケージの中にread.table関数、read.csv関数などがあります。これを利用すれば、簡単にテキストファイルとして保存されているデータを読み込めます…

なぜ分散分析には自由度が2つあるのか?

今回は、分散分析という解析方法の紹介をします。 平均値の差の検定です。 分散分析は、3つ以上の条件やグループがあるときの平均値の条件差・グループ間の差を比較するときに使います。確率の考え方を取り入れることで、平均の差が偶然と呼べる程度の差な…

R言語で複数の変数を集計(2)

今回は、前回の内容の続きで、複数の変数の内容を1つの変数にまとめる方法を紹介します。 複数の変数に別れた条件名を1つにまとめたい 以下のデータフレームでは、ある条件に該当するかどうかが複数の項目への解答として記録されています。 参加者 条件A …

R言語で複数の変数を集計

今回は、アンケート項目の集計などに用いるような複数項目の集計方法を紹介します。 rowSums関数の利用 各個人が次のようにアンケートに答えたとします。 参加者ID 質問1 質問2 質問3 A 1 1 0 B 0 1 0 C NA NA NA D NA 1 0 1は「はい」、0は「いいえ」、N…

R言語でデータフレームのデータを並べ替え

今回はR言語でデータを扱うときのちょっとした技の紹介です。 データの並べ替え 複数の変数で構成されるデータフレームオブジェクトについて、任意の変数の昇順で、ケースを並べ替えたい場合は、order関数を利用します。 #データ data <- data.frame(x = c(1…

R言語でパターンマッチング

今回は、R言語で正規表現を利用したパターンマッチングの使用例を紹介します。 R言語のパターンマッチング:grepの場合 特定のテキストや文字列のリストに対して、任意のパターンを検索します。文字列がパターンを含んでいるとリスト内の位置を戻り値として…

R言語でデータフレームの一部を参照する方法(2)

前回、データフレームの一部の参照についてまとめました。今回はその補足です。webbeginner.hatenablog.com リスト形式での参照 データフレーム形式のオブジェクトに以下のようにアクセスするとデータの一部のみが参照されますが、その形式はデータフレーム…

R言語でデータフレームの一部を参照する方法

今回は、データフレームオブジェクトの一部を取り出す方法を紹介します。ほんの少しの違いですが、取り出した結果を他の処理に利用するときには重要な違いになるので、割と大事な内容です。 R言語のオブジェクト R言語では、いろいろな構造のオブジェクト(…

R言語でパイプ処理を利用してコードを見やすく

今回は、R言語のコードそのものを見やすくするという話です。 Rでのコードの書き方 R言語では、型を指定しないオブジェクトにデータやその下処理・解析結果を一時的に保持するのが典型的です。例えば以下のコードは、入力データ、下処理後データ、解析結果が…

統計的に有意となる相関係数を自由度と有意水準から逆算する

今回は、ちょっとややこしい話。2つの変数の関連性を数値の変動の仕方から推定する方法があります。例えば、一方が増えると他方も増えるのか?それとも減るのか?もしくは変わらないか。これを表す指標の一つが相関係数です。相関係数を計算する方法は、検…

RマークダウンファイルでGhostscriptに関するエラーへの対処

今回は、RStudioを使っている時に出てきたエラーへの対処をメモ代わりにまとめておきます。 RマークダウンファイルからPDFファイル作成 RStudioでは、Rマークダウン形式ファイルがあり、マークダウン形式のテキスト、Rコード、出力結果、グラフを一つのファ…

可視化で理解する中心極限定理

今回は、Data Visualization Advent Calendar 2015への寄稿として書きます。qiita.com データを特徴づける指標にはいろいろなものがあります。例えば、算術平均は分布の中心を表す代表的な指標です。これに加えて、データの形状やばらつきを把握すると、より…

Rマークダウンファイルで日本語を使う時のヒント

今回は、前に紹介したRマークダウンファイルについて、特に日本語テキストを扱うときに役立つ方法を紹介します。webbeginner.hatenablog.com 日本語のテキストが折り返されない そうなんです。前回紹介したやり方でフォントをうまく選べば、日本語も問題なく…

R言語で1サンプルのt検定

今回はRを用いて1サンプルのt検定(母平均の検定)について考えてみます。 1サンプルのt検定とは? 仮説として仮定された母平均に対して、サンプルから推定された母平均との差の統計的有意性を検定します。 もう少し普通の言葉で言うならば、収集したデー…

Rマークダウンファイルで使えるフォントを選ぶ

RのIDEであるRStudioではknitrやrmarkdownといったパッケージを利用して、テキスト、Rスクリプト、出力結果、グラフを一つのファイルに出力できます。その際、TeXを利用するとPDFファイル出力が可能です。しかし、実際にこれをやろうとすると結構やることが…

R言語でワードクラウドを作る

今回は、R言語のwordcloudパッケージを利用して、アンケートの自由記述回答をwordcloud形式で表現する方法をまとめます。 ワードクラウドとは? コトバンクによれば「文章中で出現頻度が高い単語を複数選び出し、その頻度に応じた大きさで図示する手法」との…

R言語でパッケージから関数を呼び出す

本日は、なんとなく気になっていた関数の呼び出し方のバリエーションをまとめておきます。 パッケージ内の関数 R言語の最大の強みの一つは、パッケージによる機能拡張でしょう。世界中の開発者がオープンな環境で次々に強力な関数を開発して公開しています。…