Rの基礎知識「関数」「パッケージ」「データフレーム」とは。マーケターが1からRを勉強します【第2回】

Rの基礎知識「関数」「パッケージ」「データフレーム」とは。マーケターが1からRを勉強します【第2回】

マーケター1年目の小幡さんがRを学んでいきます。講師は株式会社ヴァリューズのデータアナリスト、輿石さん。第2回はRを使う上でおさえておきたい事前知識をつけていきます。Rでデータを扱えるようになりたいと考えている方、ぜひ小幡さんと一緒に勉強していきましょう。


今回はいよいよRを触ります

こんにちは、小幡です。マナミナの企画として統計解析のプログラミング言語「R」を1から教えていただくことになり、その模様を全部で8回に分けてお伝えしています。

初回だった前回は、まずRとは何かという概要を学び、実際にRをインストールしました。そして今回は、Rを使う上で、覚えておきたい基礎知識を勉強します。

※編集部注:初出時、本連載は全7回の予定でしたが、編集の都合上、全8回に変更しました。(2020.8.12追記)

いよいよ実際にRを触ることになりますが、Rに慣れ親しんでいくことができるでしょうか…。少し不安がありますが、なんとか頑張っていきたいと思います!

RStudioの使い方とは

輿石さん:さて、インストールが終わりましたね。これでRが使えるようになりました。今回はRStudioの使い方や、Rを使う上で覚えておきたい事前知識を学んでいきましょう。

株式会社ヴァリューズ ソリューション局 マネジャー
輿石拓真(こしいし・たくま)さん

輿石さん:前回もお伝えしましたが、RはRStudioで動かしていきます。そこでまず、RStudioの使い方から説明していきましょう。

RStudioは、次の4つの画面から構成されています。

輿石さん:RStudioでは、テキストエディタにRのコード(Rへの命令)を記述します。そしてCtrl + Enterを押すと、コードが下のコンソールへ送られ命令が実行される流れとなっています。

小幡:テキストエディタでコードを書いていくんですね!

輿石さん:そうです。テキストエディタが表示されていない人がいるかもしれません。左上のタブから「File」「New File」「R script」をクリックすると、新規テキストを開くことができます。

WindowsPCのショートカット「Ctrl + S」 で保存もできますよ。拡張子は「.R」となりますが中身はテキストファイルです。分析ごとにファイルを作って保存しておくといいと思います。では練習として、テキストエディタに以下のスクリプトを入れ、実行(カーソルを入力した行に合わせてCtrl + Enter)してみましょう。

print("hello world")

「hello world」とコンソールに表示されましたか?

小幡:はい、されました!

輿石さん:いいですね。もしもうまくいかない場合は、大文字と小文字や、全角と半角をまちがえていないかを確認してみてください。

では次は、四則演算をやってみましょう。以下のコードをテキストエディタに張り付けて、一行ずつ実行してみてください。「#」以降はコメントといって、コードの実行に影響を及ぼさない決まりになっています。

4 + 5 # 足し算

10 - 4 # 引き算

2 * 3 # 掛け算

22 / 3 # 割り算

(11 + 3) * 40 / 3 # かっこで計算順変更

正しく結果が表示されましたか? ただし、ここでは結果が表示されただけです。どこかに保存しておけると便利ですよね。次に以下のコードを実行してください。

x <- 3 + 5

y <- 10 - 3

z <- x + y

<-という矢印で変数に代入して保存します。上のコードは、矢印の右側で四則演算を行い、その結果を変数(例えばx)に代入するという指示です。xには8が、yには7が、その両者を足したzには15が入っているはずですね。

それでは上記のコードを実行してみてください。

小幡:はい、できました! ただ、今回は実行しても下のコンソールにコードだけ表示されて、実行結果は表示されてません。

輿石さん:そうですね。それで正しいです。代入した場合結果は表示されません。では、実行結果である変数の中身を確認する方法を2つ説明しますね。

1つは、RStudio右上の「Environment」というタブで確認する方法です。変数に何かを入れるコードを実行すると、すべてこのタブに表示されます。実際にx、y、zの欄にそれぞれ8、7、15と表示されてますね。

小幡:されてます!

輿石さん:もう一つは、変数名だけを実行する方法です。テキストエディタに「z」と変数名だけを入力して実行してください。

小幡:コンソールに15と表示されました!変数の中身を確認したいときには、変数名だけを実行するとよいんですね。

Rの「関数」と「パッケージ」とは

輿石さん:Rでは『関数』を組み合わせて処理を書いていきます。関数と言うと、高校・大学の数学を思い出して頭が痛くなる人もいると思いますが…。関数というのは「インプットを入れると、決まった処理をして決まったアウトプットを出してくれる」ものです。

例えば数学の「y=2x」という関数であれば、xに2を入れたら「2を2倍にする」という処理をして必ず4を出してくれますが、それと同じです。

小幡:関数…。懐かしい響きです。

輿石さん:例えばRの世界には、sum()という関数があります。これは次のように使います。

a <- sum(3,5)

a

sumという関数に3と5を入れたら、足し算という決まった処理をして、8を出してくれる。そしてここでは、計算した値を変数「a」に代入するという指示を出しています。このように関数とは、特定の処理をしてくれる「特別な箱」のようなものだと思ってください。

小幡:分かりました。「関数は特別な箱」ですね。

輿石さん:また、関数がどんな処理をするのか、どんなインプットが必要なのかといったことには、それぞれ決まりがあります。例えば足し算をする関数のインプットに"こんにちは"と日本語をいれませんよね? 当たり前ですが、足し算をする関数のインプットには数字が必要なんです。これから様々な関数を使ってプログラムを書くことになりますが、この関数のインプットが何かな?と意識することはとても大事ですよ。

ちなみに、この関数のインプットのことを「引数」と呼んでいます。この言葉はこれから頻繁に使っていくので、覚えておいてくださいね。

小幡:分かりました!

輿石さん:少し発展的な内容になりますが、?関数名とコードを実行すると、右下に関数の引数や処理内容が詳しく書かれたヘルプページが出てくるので参考にしてください。ただし、残念なことに英語です。。。

小幡:英語ですね・・・。

輿石さん:Descriptionが処理の要約、Argumentsが引数の説明なので大事です。また、最後にExampleというコード例がついているので、それをコピペして実行してみるのも関数の理解に役立つと思いますよ。RはWEB上での日本語の情報も充実しているので、英語がわからなければWEBで検索するのも手だと思います。

?sumを実行した例。RStudioの右下に表示される。

輿石さん:では次に、『パッケージ』について説明します。Rでは、集計や回帰分析、モデル構築などの多様な分析が簡単にできるプログラム(関数)を、世界中の人が作って公開してくれているんです。こうした便利な関数を集めたものをパッケージと呼んでいます。それを使わない手はありません。世の中の偉大な先人が作った便利なパッケージをインストールしましょう。

小幡:なるほど、それは便利ですね! 先人さんたちありがとうございます。

輿石さん:インストールには、install.packagesという関数を使います。

install.packages(" ")

""の中に欲しい関数名を入れると、インターネットを経由して、CRANというパッケージが集まっている場所から自分のPCにプログラムを持ってきてくれます。では、まず「tidyverse」(読み方:タイディバース)というパッケージをインストールしましょう。RStudioで次の指示を入力し、Enterを押してみてください。

install.packages("tidyverse")

小幡:実行できました!コンソールにすごい勢いで文字が流れていっています!

輿石さん:それでOKです!しばらくすると文字の流れも止まりますよ。ただ、インストールだけではパッケージが使えるようにはなりません。パッケージを使いたいと思ったら、Rを立ち上げるたびにlibraryという関数で呼び出す必要があります。

library(tidyverse)

これを実行すると、小幡さんが今開いているRStudioでtidyverseの関数が使えるようになります。

install.packagesは一度実行すればOKですが、libraryはRStudioを起動する度に呼び出す必要があります。tidyverseの関数が、前回は使えたのに今回は使えなかったとしたら、library呼び出し忘れていないかどうか確認してみてくださいね。

小幡:分かりました!

輿石さん:ちなみに、今回扱うパッケージは次の6つです。このうち1〜4までは、library(tidyverse)で一気に使えるようになります。5と6は別途libraryで読み込む必要があります。

これらのパッケージを使って、Rを使ったデータの加工が簡単に行えるようにしていきます。これから頑張って使い方を習得していきましょう。

Rの「データフレーム」とは

輿石さん:さて、ここまでRStudioの使い方や関数、パッケージといった概念を学んできました。今日は盛りだくさんですが、最後に「データフレーム」を学びます。これでRの基礎知識は終わりなので、頑張ってくださいね。

小幡:はい、頑張ります…!

輿石さん:いままでデータを扱うときに、Excelを使ったことがあると思います。実際に、Rでの多くのデータ分析もExcelのような二次元の表を使います。そしてRでは、Excelの数表の形を『データフレーム』と呼んでいます。

Excelの数表には、その列がなんのデータなのかを表す『列名』がありますよね。データフレームも同じで、列名を持っています。

また、「ユーザー数」という列があるとすれば、必ず数字が入っていますよね。急に100行目に「あ」とかが入っていたらおかしいです。ひとつの列には必ず同じ性質の値が格納されている、という事実は当たり前かもしれませんが結構大事なので覚えておくといいでしょう。

小幡:なるほど。つまり、Excelの行列を思い浮かべればいいんですね。

輿石さん:そうですね。基本構造は同じです。では例を見てみましょう。Rの中には、いくつかのサンプルデータが読み込まれています。今回はスターウォーズのデータを読み込んでみましょう。テキストエディタに次のコードを入力してみて下さい。

data <- starwars

data

実行すると、次のような画面が表示されると思います。これがスターウォーズのデータフレームです。

輿石さん:表示されましたか?表示されない場合はlibrary(tidyverse)が実行されていないかもしれません。

小幡:はい、出てきました!

輿石さん:これは映画「スターウォーズ」の登場人物の身長や体重などがまとめられたデータです。では右上の変数一覧(「Environmentタブ」)にある「data」をクリックしてみてください。もう少し見やすい形でデータが表示されると思います。これはExcelの表とあまり変わらないですよね。

小幡:確かにこうすれば、以前からExcelで見ていた形式と一緒ですね。

輿石さん:はい。これで大体のデータフレームのイメージが掴めたかなと思います。売り上げデータやアクセス解析データなどマーケターが扱うほとんどのデータはデータフレームとして扱います。次回以降でこのデータフレームを加工していく方法を学びましょう。

本日はここまでです! いろいろお伝えしましたが、実際にRを触りながら一歩ずつ覚えていってくださいね。

小幡:はい! 今日もありがとうございました。

今日のまとめと感想

今回は、Rを使う上での事前知識を勉強しました。大事なことをおさらいしておきます。

1.Rは関数を使ってプログラムを書く。インプットに対して決まったアウトプットを返す「箱」。インプットは「引数」と呼ばれ、内容や順番が大事。

2.Rには便利な関数が集まったパッケージが存在する。RStudioを起動する度にlibrary()で呼び出すことを忘れない。

3.Rでデータを扱う形式は「データフレーム」。イメージはExcelの数表とほぼ同じ。

さて次回は、パッケージの関数を使ったデータフレームの変形の仕方を学んでいきます。お楽しみに!

R勉強ドキュメンタリー、第3回はこちら

データの形式を整えるところから始めよう。マーケターが1からRを勉強します【第3回】

https://manamina.valuesccg.com/articles/740

マーケター1年目の小幡さんがRを学んでいきます。講師は株式会社ヴァリューズのデータアナリスト、輿石さん。第3回はRを使ったデータ集計の方法を習得します。Rでデータを扱えるようになりたいと考えている方、ぜひ小幡さんと一緒に勉強していきましょう。

この記事のライター

大学でマーケティングを勉強しながら、ヴァリューズでインターンとして働いていました。2020年の春からは新卒としてヴァリューズに入社しました。

関連する投稿


マーケターはYouTubeに注目している?マーケ系主要メディアのTop5を調査【21年3月】

マーケターはYouTubeに注目している?マーケ系主要メディアのTop5を調査【21年3月】

その月のマーケター向け注目トピックを厳選してお届けする企画「マナミナ編集部が選ぶ今月のマーケティングトピック」。各メディアでは、どのような記事が閲覧数を伸ばしたのでしょうか。調査ツール「<a href="https://www.valuesccg.com/dockpit/" target="_blank">Dockpit</a>」を使ってマーケター向けビジネスメディア「マーケジン」「日経クロストレンド」「DIGIDAY」の人気コンテンツを調査するとともに、マナミナ編集部の注目記事もピックアップ。それぞれのテーマを紹介しながら、人気の要因を探ります。


「提案では三国志のようなストーリー設計が大事」コンサル化するWeb制作現場のデータ活用

「提案では三国志のようなストーリー設計が大事」コンサル化するWeb制作現場のデータ活用

Web制作の現場はレッドオーシャン化が進み、淘汰が激しくなっています。そのなかで勝ち残るために、株式会社モードツーではヴァリューズのWeb行動ログデータを活用し、「データで市場性を語る提案」に着目、効果を感じていると言います。モードツーの中本さんにお話を聞きました。


在宅生活をちょっと豊かにする「贅沢家電」市場がコロナ禍で成長?需要をデータから分析

在宅生活をちょっと豊かにする「贅沢家電」市場がコロナ禍で成長?需要をデータから分析

長引くコロナ禍において、自宅で過ごす時間が増えたことは周知の事実です。また、先行き不安から消費行動の落ち込みも見られるというニュースも目にしますが、果たしてそれは本当なのでしょうか。確かに通常時と同じ対象に支出はしていないかもしれませんが、支出の対象が変化しただけで、実は消費行動は引き続き起きているのではないかと思います。 今回はコロナ禍で逆に需要が高まっていると予測される贅沢家電について、分析していきます。


国・自治体がTableauでわかりやすくデータを可視化しているって知ってた?市場調査やマーケティングに使えるオープンデータまとめ

国・自治体がTableauでわかりやすくデータを可視化しているって知ってた?市場調査やマーケティングに使えるオープンデータまとめ

Tableauを学ぶシリーズの番外編となる本稿では、国や自治体が公開しているサイトからTableauの活用事例を学びます!国・自治体が提供している、市場調査やマーケティングにも使えるオープンデータをまとめました。Tableau活用事例の参考にもなるでしょう。


Tableauで作ったワークシートをダッシュボードにする!BI初学者がTableauを1から学びます【最終回】

Tableauで作ったワークシートをダッシュボードにする!BI初学者がTableauを1から学びます【最終回】

来年から株式会社ヴァリューズに入社予定の船田くんがTableauを1から学んでいきます。講師はTableauの公式パートナーであるヴァリューズで、Tableauセミナーも行っている若林さん。第5回(最終回)は、地図データを使ったビジュアライズ、ダッシュボードの作成を学びます。Tableauを使って、社内データの活用などを考えている方、ぜひ船田くんと一緒に勉強していきましょう。


最新の投稿


「デジタル・トレンド白書2021 -消費財・耐久消費財編-」を公開 ~ コロナ禍における消費者のデジタル動向調査

「デジタル・トレンド白書2021 -消費財・耐久消費財編-」を公開 ~ コロナ禍における消費者のデジタル動向調査

マナミナでは、これまで消費者トレンドや、さまざまな業界事情、withコロナの変化などの調査を行ってきましたが、その内容を一つにまとめた「デジタル・トレンド白書2021」をリリースしました。「第三部 消費財・耐久消費財編」についてご紹介します。※レポートは無料でダウンロード頂けます。(ページ数|138p)


コロナ禍から1年、理美容家電の購買実態とは?アンケート・Web行動ログの調査結果を限定公開!|オンラインセミナーレポート

コロナ禍から1年、理美容家電の購買実態とは?アンケート・Web行動ログの調査結果を限定公開!|オンラインセミナーレポート

新型コロナウイルスの感染拡大から1年以上が過ぎ、人々の生活や社会は大きく変化しました。理美容・健康家電も大きな影響を受けた業界のうちのひとつです。そこで、2021年6月8日にヴァリューズで開催されたセミナーでは、新たな生活様式が、理美容・健康家電の購入にまつわる消費者の行動やニーズにどのような影響をもたらしたのか、アンケート調査・Web行動ログデータを基に振り返り、その実態を深掘り解説しました。 <br>※セミナーの詳細資料は無料でダウンロードできます。下記フォームよりお申し込みください。


GoogleアナリティクスでGA4ではなくユニバーサルアナリティクス(UA)のプロパティを作成する方法

GoogleアナリティクスでGA4ではなくユニバーサルアナリティクス(UA)のプロパティを作成する方法

GA4のリリース(2020年10月)後、新規のプロパティを作成すると、ユニバーサルアナリティクスのプロパティではなく、GA4のプロパティが作成されます。しかしデータ計測やツール連携の都合上、まだまだユニバーサルアナリティクスのプロパティが必要な場合がありますよね。そこで本稿では、ユニバーサルアナリティクスのプロパティを作成する方法(ユニバーサルアナリティクスのトラッキングIDを取得する方法)について解説していきます。


在宅勤務で増加?コロナ禍における「肩こり」の対処法とマッサージ需要を調査

在宅勤務で増加?コロナ禍における「肩こり」の対処法とマッサージ需要を調査

在宅勤務などコロナ禍で広がる新しい働き方に対し、さまざまな悩みが生まれているようです。特に体の不調に悩む人は多く、「肩こり」に悩まされる人が増えているようです。そこで、Dockpitを用い、体の凝りの対処法として検討されているものや、マッサージサロンが受けるコロナ影響について分析しました。(ページ数|22p)


急上昇ワードに“大規模接種センター”など...「週間」検索キーワードランキング(2021/6/13~2021/6/19)

急上昇ワードに“大規模接種センター”など...「週間」検索キーワードランキング(2021/6/13~2021/6/19)

2021年6月13日~6月19日週の検索急上昇ワードでは、新型コロナウイルスのワクチンを巡り、自衛隊による大規模接種の対象が全国の18歳以上に拡大されたことを受けて「大規模接種センター」の検索が急増。ネット行動ログとユーザー属性情報を用いたマーケティング分析を行い、検索キーワードランキングを作成しました。


競合も、業界も、トレンドもわかる、マーケターのためのリサーチエンジン Dockpit 無料登録はこちら

アクセスランキング


>>総合人気ランキング