jnobuyukiのブログ

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

R

Rのfactanal関数で因子分析した時に因子負荷行列を全て表示したい

今回はRを利用した分析に関する非常に細かい話です。 因子分析とは 因子分析は、ある個人・対象について、複数の指標で計測を行った場合に、それらの指標を上手に要約する方法の1つです。例えば、ある学校のある学年の生徒に国語・算数・理科・社会のテスト…

Rで作成した度数分布表のラベルと値をすぐに使いたい

今回はRの使い方の話です。最初に考えた方法がうまくいかなかったので、意外に解決策を見つけるのに手間取ったので自分のためのメモ。でも同じ問題で行き詰まる方にも共有します。 Rで表を作るならtable関数 Rのbaseパッケージで度数分布表を作るときはtable…

Rを利用したデータのまとめ方(1)

R

今回は、久しぶりにRの基本的な使い方について説明します。 データをまとめる方法 アンケート調査や実験などでデータを取得し、スプレッドシートなどになっているデータについて、色々な方法でまとめることができます。 変数の特徴を知る方法:summary関数で…

R言語でデータを分割してから,それぞれに同じ操作を繰り返す

今回はR言語の使い方のヒントを皆様と共有します。 データの分割はsplit関数 データを分割するには,split関数が便利です。split関数では2つの引数をとり,1つ目がデータオブジェクト,2つ目が分割するための基準となる変数を設定します。 以下の例を見て…

数式は(そんなに)怖くない(3)

本日は,数式怖くないシリーズ3つめの話題です。共分散を取り上げます。 共分散とは 共分散とは2つの変数の変動(または連動)する様子を1つの値に要約したものです。ある変数の値が高くなるときに,他の変数も同じように値が高くなるのか,逆に低くなる…

サンプル平均の期待値はサンプルサイズがいくつでも同じです

本日は,久々の投稿な上に,ちょっと込み入った話です。込み入っているけど,推測統計を理解するためにぜひ抑えておきたいポイントについて書きたいと思います。 サンプルの平均を母平均の推定に使う 推測統計学では,実際に持っているデータをデータを取っ…

分析はプログラミングを利用したほうが良いのはなぜか?(初学者向け)

今回は,統計学やデータ分析の初学者の方に向けて,「なぜプログラミングを利用したほうが良いのか?」を考えてみます。 データ分析の方法 何らかの方法でデジタル化されたデータがあれば,それを使って,計算し,データの特徴を調べられます。数量で扱える…

Rをアップデートしたらjupyter notebookの設定もアップデート

これまでに2回ほどjupyter notebook(またはipython notebook)のインストールについて紹介しました。この度,Rのメジャーアップデートをしたので,その後の設定についてメモを共有します。 必要なパッケージのインストール 以下のページに載っているように,…

R言語でデータを保存する

今回もR言語のちょっとした使用上のヒントを投稿します。 save関数でデータを保存 R言語を利用してデータ解析をする際,解析が長くなると一時的に保存したファイルを永続的に保存,または他の人と共有したことがあります。そのような場合に,データオブジェ…

Rのtable関数の出力表をもっと「表らしく」するには?

今回も,Rを利用したデータ解析の細かい話です。 Rで2つのカテゴリー変数のクロス集計表(それぞれの変数の値の組み合わせ度数を数えたもの)はtable関数簡単に求められます。 data <- data.frame(x = sample(1:5,100, replace = TRUE), y= sample(c("a","b…

Rのplot関数で作るグラフの軸とその値の色を変えたい

Rはグラフをプログラミングコードで簡単に作図できるという強みがあります。とりあえずplot関数を使えばグラフをつくれるものの,いろいろな目的に合ったグラフを作るには細かい調整が欠かせません。今回は,軸や軸の値の色を変える方法を紹介します。 引数f…

Rのデータフレームから数値変数だけを抜き出したい

今回は,ありそうでなさそうなデータハンドリングに関して,メモ代わりにやり方を共有します。 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…