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

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

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


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

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

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

いよいよ実際に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年の春からは新卒としてヴァリューズに入社しました。

関連する投稿


Rでデータを加工・集計する方法とは?マーケターが1からRを勉強します【第4回】

Rでデータを加工・集計する方法とは?マーケターが1からRを勉強します【第4回】

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


マーケティングの基本3要素、フレームワーク・コピー・プロダクトを分かりやすく学べる本を紹介します

マーケティングの基本3要素、フレームワーク・コピー・プロダクトを分かりやすく学べる本を紹介します

マーケティングについてイチから学びたいと考えている人に向けた本3冊+αを紹介する企画。マナミナを運営する株式会社ヴァリューズのマーケティング・コンサルタント、秤谷大河さんに挙げてもらいました。長期休暇の間などに、時間を取ってじっくりと読んでみてはどうでしょうか。


「世界中の人を健康にしたい。」グリコのマーケターが語る、キャリアを導く信念とは

「世界中の人を健康にしたい。」グリコのマーケターが語る、キャリアを導く信念とは

マーケターはどのようなキャリアを経てマーケターになったのでしょうか?そして実際どんな仕事をしているのでしょうか。学生から見たら詳しくは分からないことも多い「マーケター」に、ヴァリューズの小幡がインタビューしていく連載の第5回です。今回は、江崎グリコ株式会社で、スキンケアブランド「gg(ジージー)」のマーケティングを担当されている岸本さんにお話を聞きました。


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

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

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


お菓子業界5社をマーケティング視点で企業研究!大学生のデータドリブン就活【第4回】

お菓子業界5社をマーケティング視点で企業研究!大学生のデータドリブン就活【第4回】

競合分析ツール「eMark+」を使って、就職活動に役立つコンテンツをお届けする企画。第4回はお菓子業界の上位5社、カルビー・森永製菓・明治・グリコ・ブルボンをWebサイトの集客状況から分析し、企業の強みや違いをまとめました。


最新の投稿


「医療?それとも自己処理?」 人に聞きづらい脱毛事情。女性×年代別でみる悩みの中身

「医療?それとも自己処理?」 人に聞きづらい脱毛事情。女性×年代別でみる悩みの中身

人に聞きづらい脱毛事情。露出の増える夏に向け、その関心は高まるのではないでしょうか。今回はネット上での「脱毛」に関する人々の行動を調査し、人々の悩みを明らかにしました。


コロナ影響でネットスーパー4サイトのユーザーが急上昇。1位はコストコ、楽天西友は経済圏内の回遊が強みか

コロナ影響でネットスーパー4サイトのユーザーが急上昇。1位はコストコ、楽天西友は経済圏内の回遊が強みか

新型コロナの影響で外出自粛が叫ばれ、多くの業界が打撃を受ける一方、一部のサービスは需要を伸ばしています。その一つとして今回着目したのが、ネットスーパー。感染予防のために店頭での買い物を控え、ネットスーパーの利用者が増えているのではないかと予想し、eMark+を使ってその実態を調査しました。


外出自粛で需要増のYouTube。ユーザー数を伸ばしたチャンネルは?

外出自粛で需要増のYouTube。ユーザー数を伸ばしたチャンネルは?

コロナによる外出自粛の影響を受け、需要が増加しているYouTube。ユーザー数を伸ばしたチャンネルは?ネット行動ログとユーザー属性情報を用いたマーケティング分析サービス「eMark+」を使用し、2020年3月のデータから動画共有サービス「YouTube」について調査・分析しました。


急上昇ワードに“ファクトフルネス”など...「週間」検索キーワードランキング(2020/5/17~2020/5/23)

急上昇ワードに“ファクトフルネス”など...「週間」検索キーワードランキング(2020/5/17~2020/5/23)

全国の30万人規模のモニター会員の協力により、ネット行動ログとユーザー属性情報を用いたマーケティング分析サービス「VALUES eMark+」を使用し、検索キーワードランキングを作成しました。


巣ごもり消費でホットケーキミックスが爆売れ!炊飯器も大活躍?

巣ごもり消費でホットケーキミックスが爆売れ!炊飯器も大活躍?

新型コロナウイルスの影響で外出自粛が続く中、今、ホットケーキミックスや薄力粉・強力粉など小麦製品の品薄が続いています。マスクや消毒液が店頭から消えるのは理解できるにしても、なぜ、そしていつの間にホットケーキミックスが消えたの…?今回は「eMark+」を使って、”巣ごもりホットケーキミックス消費”の実態を探ります。


自社と競合サイトのユーザー層の違いや急上昇サイトがすぐにわかる!他社サイトのユーザーが見える市場調査ツール eMark+無料登録はこちら
最先端のマーケテイング調査結果をお試し価格でご覧いただけます!調査レポート・データ提供

アクセスランキング


>>総合人気ランキング

メルマガ登録はこちら

セミナー・イベント情報はこちら

eMak+無料登録はこちら