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

関連する投稿


Tableauとは一体どんなツール? BI初学者がTableauを1から学びます!【第1回】

Tableauとは一体どんなツール? BI初学者がTableauを1から学びます!【第1回】

来年から株式会社ヴァリューズに入社予定の船田くんがTableauを1から学んでいきます。講師はTableauの公式パートナーである株式会社ヴァリューズで、セミナーも行っている若林さん。初回はそもそもTableauとは何か、BIツールとは何かについて学び、Tableauを実際に利用するイメージを掴みます。Tableauを使って、社内データの活用などを考えている方、ぜひ一緒に勉強していきましょう。


Rで文字列の変形ができるstringrとは?マーケターが1からRを勉強します【第7回】

Rで文字列の変形ができるstringrとは?マーケターが1からRを勉強します【第7回】

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


コードはもう書かない!?「ノーコード」のサービスやメリット・デメリットとは…検索者属性から関心層の実態も調査

コードはもう書かない!?「ノーコード」のサービスやメリット・デメリットとは…検索者属性から関心層の実態も調査

エンジニアではない人にとって、これまでプログラミングによるプロダクト開発は縁遠いものでした。しかし、いまや非エンジニアも簡単にプロダクトを開発できる時代になっています。それを可能にしたのが「ノーコード」。今回はそんなノーコードについてデータ分析ツール「Dockpit(ドックピット)」のキーワード分析機能を使い、関心を持つユーザーを深堀りしていきます。


謎の実力派データ分析集団・ホクソエムに「データが扱えるマーケター」になるためのキャリア論を聞く

謎の実力派データ分析集団・ホクソエムに「データが扱えるマーケター」になるためのキャリア論を聞く

データ分析者とマーケターは、ますます切っても切れない関係になっています。ビジネスやプロダクトを成功させる上で、データ分析とマーケティングの考え方はどちらも重要。では、「データ×マーケター」のキャリアにはどんなスキルや経験が必要なのか?株式会社ホクソエムのお二人とヴァリューズの輿石に、マナミナ編集部がお話を聞きました。


Rで複数のデータフレームを結合するJOIN関数の使い方とは。マーケターが1からRを勉強します【第6回】

Rで複数のデータフレームを結合するJOIN関数の使い方とは。マーケターが1からRを勉強します【第6回】

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


最新の投稿


キャッシュレス決済のポイント還元高を自動で最適化してくれるアプリが急伸…!GoToEat影響も【20年10月急上昇アプリ】

キャッシュレス決済のポイント還元高を自動で最適化してくれるアプリが急伸…!GoToEat影響も【20年10月急上昇アプリ】

2020年10月にアクティブユーザー数を伸ばしたアプリは? 市場分析ツール「eMark+(イーマークプラス)」を使うと、どんな人がどんなアプリを使っているのか、主にユーザー数の推移といった切り口から調べることができます。今回はeMark+を使ってアクティブユーザー数の前月比が急上昇したアプリをチェック。10月のトレンドを調査しました。


化粧品のアーリーアダプターはどんな悩みを抱えていたのか?Web行動ログを用いたエスノグラフィー調査で明らかにします

化粧品のアーリーアダプターはどんな悩みを抱えていたのか?Web行動ログを用いたエスノグラフィー調査で明らかにします

マーケターが注目するアーリーアダプターをWeb行動ログで分析。これまではアンケートでの意識調査で定義するほかありませんでしたが、Web行動ログで定義することで、より実態に近いアーリーアダプターを発見、分析することが可能となりました。分析方法としてエスノグラフィーを採用。行動観察調査をWeb上で行う、という新しい取り組みです。今回の対象である美容アーリーアダプターはどんな人で、何に注目しているのか、分析していきます。


オンラインとオフラインの垣根をなくすマーケティング施策「OMO」とは?

オンラインとオフラインの垣根をなくすマーケティング施策「OMO」とは?

昨今、OMO(Online Merges with Offline)という、オンライン、オフラインの境界を意識せずに顧客の購買意欲を創出するマーケティング施策が広まっています。オンラインとオフラインの垣根をなくすOMOとは何か、解説します。


Tableauとは一体どんなツール? BI初学者がTableauを1から学びます!【第1回】

Tableauとは一体どんなツール? BI初学者がTableauを1から学びます!【第1回】

来年から株式会社ヴァリューズに入社予定の船田くんがTableauを1から学んでいきます。講師はTableauの公式パートナーである株式会社ヴァリューズで、セミナーも行っている若林さん。初回はそもそもTableauとは何か、BIツールとは何かについて学び、Tableauを実際に利用するイメージを掴みます。Tableauを使って、社内データの活用などを考えている方、ぜひ一緒に勉強していきましょう。


コロナ禍で急成長の越境ECマーケティングの成功ポイントを専門家3社が徹底解説!|セミナーレポート

コロナ禍で急成長の越境ECマーケティングの成功ポイントを専門家3社が徹底解説!|セミナーレポート

新型コロナ感染拡大によりインバウンド市場が激減した一方、越境EC市場は大きく成長。以前から寄せられていた期待が、コロナを機に一層高まりつつあります。一方、経済社会の劇的な変動に伴い消費者の価値観やニーズが変化し、越境EC市場においてもウィズコロナ戦略が求められています。ヴァリューズでは、コロナ禍で存在感を高める越境EC市場に着目し、株式会社ACD、株式会社サイバー・コミュニケーションズの2社と共にオンラインセミナー『これから始める中国・越境EC ~重要ポイントを徹底解説~』を開催。越境ECにおけるプロモーション戦略を解説しました。本稿では、そのレポートをお届けします。


自社と競合サイトのユーザー層の違いや急上昇サイトがすぐにわかる!他社サイトのユーザーが見える市場調査ツール eMark+無料登録はこちら

アクセスランキング


>>総合人気ランキング