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

関連する投稿


「社内ハッカソン」の事前準備と進め方実例を公開!成功のポイントとは?

「社内ハッカソン」の事前準備と進め方実例を公開!成功のポイントとは?

エンジニアが参加・実施しているイメージがある「ハッカソン」。普段の業務ルーティーンの中では生まれづらい交流やスキル取得が模索できるメリットを持ち合わせています。一方で具体的にどのようなことが必要なのか、知らない方も多いかもしれません。そこで今回、ヴァリューズ在籍の4名の社員がハッカソンの準備から実装までを行いました。実際に体験・紹介することで、新たな気づきが得られるかもしれません。


お金の悩み相談の先に専門家がいる。「マネコミ!」がオウンドメディアで目指すこと

お金の悩み相談の先に専門家がいる。「マネコミ!」がオウンドメディアで目指すこと

保険会社のオウンドメディアとしてSEOでの集客数が多い「マネコミ!」。ローンチから3年目(2022年度)の最大月間UU数は60万に達しています。そんな「マネコミ!」を展開する東京海上日動あんしん生命保険株式会社は、なぜオウンドメディアを立ち上げたのか、どのように運営されているのか、そしてオウンドメディアが同社の成長にどう影響しているのかについて、デジタル戦略部企画グループの齋藤 瞬(さいとう わたる)さんに伺いました。


サブスクや課金サービス運営はなぜ難しい?「無料」「有料」サービスの境界線を探る「有料会員向けのユーザーアンケート」の価値とは

サブスクや課金サービス運営はなぜ難しい?「無料」「有料」サービスの境界線を探る「有料会員向けのユーザーアンケート」の価値とは

サービスを無料で楽しんだり、売買ができたりするだけでなく、さらなる付加価値を手に入れられる「有料サービス」。昨今はユーザーが月1回、年1回など料金を支払って受けられるサブスクリプションなどのサービスも様々でてきています。マネタイズの観点でも、価格×会員数で収益が見込めるため、運営がしやすいようにも見られがちです。しかし実際には「制作費・人件費を含めると赤字」「廃止の判断が難しく、運営が続いている」という悩みの声が上がっているというのです。今回は有料モデルについて、リサーチャーの菅原大介さんに解説いただきました。


マーケターの仕事は、分かりやすい言葉で「伝える」こと。BtoBビジネスにおけるターゲットの理解とDockpit活用法

マーケターの仕事は、分かりやすい言葉で「伝える」こと。BtoBビジネスにおけるターゲットの理解とDockpit活用法

サイバーセキュリティ製品というと、難しいイメージがありませんか?ふるまい防御やサンドボックス機能など耳にしたことがない機能があり、海外の製品情報に翻訳をかけただけでは難解な領域において、「伝える」ことを追求しているのがソフトバンクグループ企業のSB C&S株式会社のシマンテック事業のチームです。伝わる商品訴求のためには、ターゲットの理解やペルソナの設定が必要不可欠。今回は、同社がどのようにWeb行動ログ分析ツール「Dockpit」を活用し、マーケティング施策につなげているのか、ICT事業本部でプロダクトマーケティングを担当している須賀田淳氏に伺いました。


お菓子業界5社をマーケティング視点で企業研究! 大学生のデータドリブン就活|2022年最新版

お菓子業界5社をマーケティング視点で企業研究! 大学生のデータドリブン就活|2022年最新版

お菓子業界大手の「森永製菓」「江崎グリコ」「カルビー」「ブルボン」「不二家」。各公式サイトの集客状況に注目し、強みや施策の違いを調査します。2年半前に公開した同記事の最新版として、新たな発見をお届けします。


最新の投稿


博報堂研究デザインセンター、生活者発想技研からメタバース生活者たちと共にメタバースの未来を考える 「メタバース生活者ラボ™」を設立

博報堂研究デザインセンター、生活者発想技研からメタバース生活者たちと共にメタバースの未来を考える 「メタバース生活者ラボ™」を設立

株式会社博報堂は、メタバース空間における新しい生活者価値の創出と、イノベーションを生み出すことを目指し、研究員全員がメタバース生活者当事者によって構成されたコミュニティ型プロジェクト「メタバース生活者ラボ™」を設立したことを発表しました。


【2024年12月2日週】注目のマーケティングセミナー・勉強会・イベント情報まとめ

【2024年12月2日週】注目のマーケティングセミナー・勉強会・イベント情報まとめ

編集部がピックアップしたマーケティングセミナー・勉強会・イベントを一覧化してお届けします。


SEOの失敗から学んだ教訓、「技術的な最適化の重要性」「キーワード選定の重要性」「コンテンツの質が検索順位に与える影響」が上位に【eclore調査】

SEOの失敗から学んだ教訓、「技術的な最適化の重要性」「キーワード選定の重要性」「コンテンツの質が検索順位に与える影響」が上位に【eclore調査】

株式会社ecloreは同社が運営する「ランクエスト」にて、SEO対策で実際に失敗を経験した担当者に対し、その原因や対策についてアンケートを実施し、結果を公開しました。


ゴンドラ、CXデザイン・カスタマーサクセスの最新トレンドと顧客エンゲージメントに関する調査結果を発表

ゴンドラ、CXデザイン・カスタマーサクセスの最新トレンドと顧客エンゲージメントに関する調査結果を発表

株式会社ゴンドラは、カスタマーサクセス、CRM、CXデザイン業務経験者を対象に、顧客エンゲージメントに関するアンケート調査を実施しました。


SEOにおける動画コンテンツの活用目的は検索順位・ブランド認知度向上!約8割がSEO効果を実感している結果に【eclore調査】

SEOにおける動画コンテンツの活用目的は検索順位・ブランド認知度向上!約8割がSEO効果を実感している結果に【eclore調査】

株式会社ecloreは同社が提供する「ランクエスト」にて、動画コンテンツ活用者を対象に、SEO対策としての動画の有効性について調査を実施し、結果を公開しました。


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

アクセスランキング


>>総合人気ランキング

ページトップへ