Mukku John Blog

取り組んでいること を つらつら と

ggplot2を使って、折れ線グラフを作る-3

R グラフィックス クックブック 9回目 ggplot2パッケージを利用して、折れ線グラフを作成していきます。 この記事では、下記を対象にします。 積み上げ面グラフ 100%積み上げ面グラフ 折れ線の周りの網掛け 積み上げ面グラフ 利用するデータはこちらです。 …

ggplot2を使って、折れ線グラフを作る-2

R グラフィックス クックブック 8回目 ggplot2パッケージを利用して、折れ線グラフを作成していきます。 この記事では、下記を対象にします。 線と点の体裁 網掛け領域付きの折れ線グラフ 線と点の体裁 折れ線グラフの線と、データポイントの点の見た目に注…

ggplot2を使って、折れ線グラフを作る-1

R グラフィックス クックブック 7回目 ggplot2パッケージを利用して、折れ線グラフを作成していきます。 この3つを対象にします。 折れ線グラフ 点をもつ折れ線グラフ 複数の線の折れ線グラフ 折れ線グラフ データはこちらを使います。 R: Biochemical Oxy…

ggplot2パッケージを使って、棒グラフを作成してみる-3

R グラフィックス クックブック 6回目 ggplot2パッケージを利用して、棒グラフを作成していきます。 この2つを対象にします。 棒グラフにラベルを追加する (Cleveland)ドットプロット 棒グラフにラベルを追加する 利用するデータ このキャベツデータを使い…

ggplot2パッケージを使って、棒グラフを作成してみる-2

R グラフィックス クックブック 5回目 ggplot2パッケージを利用して、棒グラフを作成していきます。 正負で色を塗り分ける グラフ映えするデータセットを探すor作るのがメンドクサクなってきたので甘えます。 library(gcookbook) このデータを利用します。 …

ggplot2パッケージを使って、棒グラフを作成してみる-1

R グラフィックス クックブック 4回目 ggplot2パッケージを利用して、棒グラフを作成していきます。 連続値/離散値 軸が連続値か離散値かで描画のされ方が異なります。データセットは、BODを利用します。 R: Biochemical Oxygen Demand > BOD Time demand …

ggplot2パッケージを使って、色んなグラフを作成してみる-2

R グラフィックス クックブック 2回目 baseパッケージとggplot2パッケージを比べつつ、色んなグラフを作成してみます。 それぞれのグラフに特化した内容は、追って取り扱います。この記事では、パッケージの違いを目で見て確認するまでにしておきます。 (…

ggplot2パッケージを使って、色んなグラフを作成してみる-1

R グラフィックス クックブック 2回目 baseパッケージとggplot2パッケージを比べつつ、色んなグラフを作成してみます。 それぞれのグラフに特化した内容は、追って取り扱います。この記事では、パッケージの違いを目で見て確認するまでにしておきます。 (…

ggplot2を使い始める前に

R グラフィックス クックブック 1回目 ggplot2の利用を開始する前に、ggplot2パッケージの考え方にふれておきます。 データグラフィックス データ属性からグラフィックス内の視覚属性へのマッピングが発生します。 データ属性:数値またはカテゴリカルな値 …

統計を使わずに、Rを純粋にプログラミング言語として学ぼう

この本に沿って、全部で20回。 www.oreilly.co.jp R言語の知識が、まったくない状態から、 R Studioのインストール サイコロを利用して、 R Studioの使い方 Helpのひき方 packageの導入 トランプを利用して、 オブジェクト 記法 値の書き換え 環境 スロット…

Rプログラミング入門 20回目(最終回)

ベクトル化コードの続きです。この記事で作成したスロットマシーンのシミュレーションを行います。 mukkujohn.hatenablog.com なぜベクトル化コードにするのか? 例えば、以前作成した関数を用いて、賞金の平均を求めるとすると こんな感じでループで1回ずつ…

Rプログラミング入門 19回目

スピード コードのスピード。 やっぱり、試行回数を増やしつつ、シミュレーションをするには、 コードが早くないとね。Rには、早くするテクニックがあるよ。のお話し。 ベクトル化コード コードを早くするには、下記3つを利用します。 論理テスト 添字操作 …

Rプログラミング入門 18回目

過去記事で作成したスロットマシンの賞金の期待値を算出していきます。 シンボルの一覧はこちらです。 > wheel <- c("DD","7","BBB","BB","B","C","0") > wheel [1] "DD" "7" "BBB" "BB" "B" "C" "0" この記事で使用したexpand.grid関数を使って、全ての組み…

Rプログラミング入門 17回目

このサイコロの期待値を考えながら、ループを学ぶ下準備をします。 > die <- c(1,2,3,4,5,6) > die [1] 1 2 3 4 5 6 期待値 個々の可能な事象が持つ値にその事象が発生する確率を掛けたものの合計。 これ。 なので、上のdieオブジェクトの期待値はこうです。…

Rプログラミング入門 16回目

前回の作業で、play関数を仕上げましたが、出力が美しくないです。 mukkujohn.hatenablog.comこの出力結果をどうにかしたい部分 シンボルの表示に、print関数を利用しているため、シンボルが返却されない 賞金=金額なので、$マークを付与したい > play() [1…

Rプログラミング入門 15回目

この記事の続き。 mukkujohn.hatenablog.comif~elseを利用して、score関数を作る。 おさらい 関数を作る際に、???にならないために。 複雑な問題を単純な問題に分割する 具体例を使う 文章で書いてから、Rに変換する (プログラム書き初めはこうだったかな…

一部の標本を使って、母集団の信頼できる発言をするには?

今日は、日帰り出張@滋賀県某所。行き返りの新幹線で、この本を読みました。 www.diamond.co.jp標本を採って、信頼度、信頼区間を設定して、仮説検定をして… と今まで統計の数字を出力するために踏むべきステップに触れてこなかった身として 色んな事がすっ…

Rプログラミング入門 14回目

これからの数回は、スロットマシンのシミュレーターをRで作成する過程を通じて、 これらを学んでいきます。 プログラムの設計方法 分岐処理の書き方 反復処理の書き方 ルックアップテーブルの作り方、使い方 S3メソッドの使い方 ちなみに、スロットマシンの…

Rプログラミング入門 13回目

環境 後編 この記事の後編。 mukkujohn.hatenablog.com関数実行時の環境はどうなっているのか?の続き。 評価 Rは、関数を実行する際に、 新しい環境を作り、 作った環境で関数を実行し、 関数が呼び出された環境に戻ります。 この関数で確認してみます。 > …

Rプログラミング入門 12回目

環境 前編 最初、環境とはなんぞや?と思っていましたが なんてことないオブジェクトのスコープの話。 下準備 この2つの関数の改修を通じて、 環境への理解を深めていくため、事前に作成しておきます。 (過去記事でも、何度も登場している自作関数です。) d…

Rプログラミング入門 11回目

過去記事で散々使い倒してきた、「トランプのデッキ」オブジェクトを利用して、 オブジェクト内の値の書き換え方法を学んでいきます。 下準備 この記事で保存した、card.csvファイルを、read.csv関数を利用して、 deckオブジェクトにロードしてください。 mu…

Rプログラミング入門 10回目

この記事で、保存したcards.csvファイルをdeckオブジェクトに読み込んで deckオブジェクトを操作する方法を学んでいきます。 mukkujohn.hatenablog.com 下準備 cards.csvファイルをロードしておきます > deck <- read.csv("cards.csv") > head(deck) face su…

Execute RモジュールでPlotしたグラフをPDFファイルで出力する

Microsoft AzureのMachine Learningで、Rプログラムでグラフを作成し、 作成したグラフをPDFファイルとして取得してみます。 azure.microsoft.com ゴール イカサマサイコロを2個振って、出た目の合計ヒストグラムを PDFファイルでダウンロードできるように…

Rプログラミング入門 9回目

この記事では、 1つのアトミックベクトルは、1つの同じデータ型で構成される事が分かりました。 mukkujohn.hatenablog.comでは1つのアトミックベクトルに、複数のデータ型の要素を割り当てると どうなるでしょうか? 型強制 character、logical、double型…

Rプログラミング入門 8回目

Rのオブジェクト Rのデータ型、データ構造を学んでいきます。 アトミックベクトル 単純なデータのベクトルです。 > die <- c(1,2,3,4,5,6) > die [1] 1 2 3 4 5 6 アトミックベクトルかどうかを確認するためには、is.vector関数を用います。 > is.vector(die…

Rプログラミング入門 7回目

今日は、ヘルプのひき方 ヘルプページの構成要素 ヘルプのひき方は、調べたい関数名の前に「?」をつけたコマンドを入れるだけです。 ?sqrt RStudioR Tools for Visual Studio どちらのツールも表示される内容が同じになっています。 英語で記載されています…

Rプログラミング入門 6回目

今日は、ヒストグラムとreplicate関数。 ヒストグラム xの個々の値について、何個のデータポイントがあるかを示してくれます。 コードとグラフを見た方が早い。 例は、xオブジェクトに、1が1個,2が3個,3が2個のベクトルを入れ、そのベクトル内で個々の値毎に…

Rプログラミング入門 5回目

今日は、パッケージ。進む前に前説。 「2個のサイコロを振る事をシミュレート」をサイコロにウェイトかけて悪だくみ。 ただ、サイコロにウェイトをかける前に、サイコロに歪みがない事を調べる。 (試行回数をすごく増やすと、全ての目の出る確率が1/6の確…

Rプログラミング入門 4回目

Rプログラミング入門 4回目。引数とスクリプト。 引数 独自関数に引数をもたせましょう。なお話し。 とりあえず、前回の記事で作成したroll関数から。 mukkujohn.hatenablog.com RStudio R Tools for Visual Studio この関数、1:6のベクトルから、元に戻す…

Rプログラミング入門 3回目

Rプログラミング入門 3回目。独自関数。 独自関数 自分で関数を作りましょう。のお話し。 この記事で、「サイコロを2回振った時をシミュレート」をする事ができました。 mukkujohn.hatenablog.com 次に、「出た目の合計」を求めます。 合計を求めるには、s…