Rでのデータ操作:変数、dplyrパッケージの使用

公開: 2020-03-26

目次

序章

スタッフとインフラストラクチャは別として、データはどの企業にとっても新しい構成要素です。 大企業から小規模産業まで、データはビジネスを推進する原動力です。 このデータは、日常のビジネストランザクション、顧客の購入データ、販売データ、財務チャート、ビジネス統計、マーケティングキャンペーンなどに関連付けられています。 そのため、O'ReillyMediaの創設者であるTimO'Reillyは、ソフトウェアよりもデータの方が重要になる状況に突入していると述べました。

しかし、これほど多くのデータをどうするか? 企業はこのデータを使用して、業績に関する貴重な洞察を導き出します。 彼らは、このデータを理解するためにRでデータ操作を実行するデータサイエンティストを雇っています。 たとえば、過去1年間の売上とマーケティングのデータを理解することで、彼らがどこに立っているかを知ることができます。 最近の調査によると、データ分析市場は2023年までに776億ドルの価値があると予想されています。

データサイエンティストは、データ操作と呼ばれるプロセスによってこのデータを理解するために雇われています。

データ操作とは何ですか?

データ操作は、データをよりよく読み、理解するためにデータを整理するプロセスです。 たとえば、会社の担当者は、システムやログブックから顧客データを取得する場合があります。 ほとんどの場合、このデータはCRM(顧客関係管理)ソフトウェアとExcelシートに保存されます。 ただし、正しく整理されていない可能性があります。 データ操作には、アルファベット順など、このすべてのデータを整理する方法が含まれます。

データは、日付、時刻、シリアル番号、またはその他のフィールドに従って並べ替えることができます。 会社の経理部門の人々は、データを使用して、販売傾向、ユーザーの好み、市場統計、および製品価格を決定します。 金融アナリストは、データを使用して、株式市場のパフォーマンス、傾向、および投資すべき最良の株式を理解します。

さらに、Webサーバーのデータは、Webサイトのトラフィック量を理解するために使用できます。 この技術の時代において、IoTは、データがマシンに接続されたセンサーから供給される技術の一例です。 このデータは、マシンのパフォーマンス、およびマシンに欠陥があるかどうかを判断するために使用されます。 市場は2025年までに816.7億ドルの価値があるため、データ操作はIoTで非常に重要です。

データ操作は、Rと呼ばれるプログラミング言語を使用して一般的に実行されます。言語をもう少し詳しく教えてください。

Rとは何ですか?

Rでのデータ操作を理解するには、Rの基本を知っている必要があります。これは、データ分析、統計計算、人工知能に使用される最新のプログラミング言語です。 この言語は、1993年にRossIhakaとRobertGentlemanによって作成されました 現在、研究者、データアナリスト、科学者、統計家はRを使用してデータを分析、クリーンアップ、視覚化しています。

Rには、機械学習、線形回帰、統計的推論、時系列をサポートできるグラフィカルな方法と統計的な方法で構成される膨大なカタログがあります。 GNU General Public Licenseの下では、この言語はWindows、Mac、Linuxなどのオペレーティングシステムで自由に利用できます。 プラットフォームに対応しているため、あるプラットフォームで記述されたRコードを別のプラットフォームで簡単に実行できます。

Rは現在、データサイエンスの主要なプログラミング言語と見なされています。 ただし、ソフトウェア開発や統計モデリングなどの複雑なタスクに使用できるため、包括的な言語です。 パッケージRShinyを使用してWebアプリケーションを開発できます。

これは非常に強力な言語であるため、GoogleやFacebookなどの世界最高の企業が使用しています。

Rの最も重要な機能のいくつかをチェックしてみましょう。

  • 10,000超えるRパッケージを含むリポジトリであるCRAN (Comprehensive R Archive Network)があり、データを操作するために必要なすべての機能を備えています。
  • これはオープンソースのプログラミング言語です。 つまり、無料でダウンロードでき、開発に貢献したり、機能を更新したり、既存の機能をカスタマイズしたりすることもできます。
  • ggplot2plotlyなどのRの便利なグラフィカルライブラリから手元にあるデータから高品質の視覚化を作成できます
  • Rは非常に高速な言語です。 インタプリタプログラミング言語あるため、Rプログラムを実行可能コードに変換するためのコンパイラは必要ありません。したがって、Rスクリプトはより高速に実行されます。
  • Rは、配列、データフレーム、およびベクトルで構成される、さまざまな複雑な計算を瞬間的に実行できます これらの計算を実行するための多くの演算子があります
  • 構造化データと非構造化データを処理します。 ビッグデータとSQLの拡張機能は、すべてのタイプのデータを処理するために利用できます
  • Rには、最も明るい心を持った継続的に成長しているコミュニティがあります。 これらの人々は、rライブラリとアップデートを開発することにより、プログラミング言語に絶えず貢献しています。
  • Rは、Python、Java、C++などの他のプログラミング言語と簡単に統合できます。 分散コンピューティングのためHadoopと組み合わせることもできます

Rプログラミング言語の基礎を習得したので、エキサイティングなものに飛び込みましょう!

Rの変数

Rでプログラミングするとき、またはRでデータ操作を実行するときは、変数を処理する必要があります。 変数は、文字列、整数、浮動小数点整数、またはブール値の形式のデータを格納するために使用されます。 これらの変数は、その内容のためにメモリ内のスペースを予約します。 従来のプログラミング言語とは異なり、Rの変数はRオブジェクトとともに割り当てられます

変数にはデータ型はありませんが、割り当てられているRオブジェクトの型を取得します。 最も人気のあるRオブジェクトは次のとおりです。

  • ベクトル
  • リスト
  • 配列
  • マトリックス
  • 要因
  • データフレーム

これらのデータ構造は、Rおよびデータ分析でのデータ操作にとって非常に重要です。 基本的なデータ操作を理解するために、それらをもう少し詳しく見てみましょう。

ベクトル

これらは最も基本的なデータ構造であり、1次元データに使用されます。 アトミックベクトルのタイプは次のとおりです。

  • 整数
  • 論理的
  • 数値
  • 複雑
  • キャラクター

Rで値を作成すると、長さ1の単一要素ベクトルになります。たとえば、

print( "ABC"); #文字型の単一要素ベクトル

print(10.5)#double型の単一要素ベクトル

ベクトル内の要素には、インデックス番号を使用してアクセスします。 ベクトルのインデックス位置は1から始まります。たとえば、

t <-c(「月」、「火」、「水」、「土」)

u <-t [c(1,2,3)]

print(u)

結果は「月」「火」「水」になります

リスト

これらはR内のオブジェクトであり、その中にさまざまなタイプの要素を保持するために使用されます。 これらは整数、文字列、さらにはリストにすることができます。 データをデータフレームまたは配列に保持できない場合は、これが最適なオプションです。 リストは行列を保持することもできます。 list()メソッドを使用してリストを作成できます。

次のコードを使用してリストを作成します。

list_data <-list( "黒"、 "緑"、c(11,4,14)、TRUE、31.22、120.5)

print(list_data)

リスト要素には、リストインデックスを使用してアクセスできます。

print(list_data [1]) #コードはリストの最初の要素を出力します

リストを使用したデータ操作の例:

list_data [4] <-NULL #このコードは、リストに4つの要素がある場合、リストの最後の要素を削除します

読む:データサイエンスのためのR対Python

配列

配列は、単一のデータ型のみを格納するために使用できるオブジェクトです。 3次元以上のデータを配列に格納できます。 このためには、ベクトルを入力として受け取るarray()関数を使用する必要があります。 配列を作成するためにdimパラメーターの値を使用します。

たとえば、次のコードを見てください。

vector_result <-array(c(vectorA、vectorB)、dim = c(3,3,2))

print(vector_result)

マトリックス

これらのRオブジェクトでは、要素は2次元レイアウトで編成されています。 行列は、同様の原子タイプの要素を保持します。 これらは、要素が単一のクラスに属している場合に役立ちます。 数学的計算のために、数値要素を持つ行列が作成されます。 matrix()関数を使用して行列を作成できます。

マトリックスを作成するための基本的な構文を以下に示します。

matrix(data、nrow、ncol、byrow、dimnames)

  • データ–これは行列のデータ要素となる入力ベクトルです
  • Nrow –これは作成する行の数です
  • Ncol –これは作成する列の数です
  • Byrow –これは論理的な手がかりです。 その値がTRUEの場合、ベクトル要素は行ごとに配置されます
  • Dimname –列と行に付けられた名前

要因

これらのRオブジェクトは、データを分類してレベルとして保存するために使用されます。 それらは統計モデリングとデータ分析に適しています。 整数と文字列の両方を因子に格納できます。 メソッドへの入力としてベクトルを提供することにより、factor()関数を使用して因子を作成できます。

データフレーム

行と列を持つ配列のような2次元構造を持っています。 ここで、各行には、各列に属する値のセットがあります。 列には、1つの変数の値が含まれています。 これらは、スプレッドシートからのデータを表すために使用されます。 これらは、因子、数値、または文字タイプのデータを格納するために使用できます。

データフレームには次の機能があります。

  • 行名は一意である必要があります
  • 列名は空でない必要があります
  • 各列のデータ項目の数は同じである必要があります

Rでのデータ操作

Rでのデータ操作の最初のステップは、巨大なデータセットからデータの小さなサンプルを作成することです。 これは、データセット全体を一度に分析できないために行われます。 通常、データアナリストは、データセットの代表的なサブセットを作成します。 これは、より大きなデータセットの傾向とパターンを特定するのに役立ちます。 このサンプリングプロセスは、サブセット化とも呼ばれます。

Rでサブセットを作成するさまざまな方法は次のとおりです。

  • $ –これはデータの単一要素を選択し、その結果は常にベクトルになります
  • [[–このサブセット化演算子も単一の要素を返しますが、要素をその位置で参照できます

  • [–この演算子は、データの複数の要素を返すために使用されます

Rでのデータ操作の基本的な機能のいくつかは次のとおりです。

sample()関数

名前が示すように、 sample()メソッドは、より大きなデータセットからデータサンプルを作成するために使用されます。 このコマンドとともに、データセットまたはベクトルから抽出するサンプルの数を指定します。 基本的な構文は次のとおりです。

sample(x、size、replace = FALSE、prob = NULL)

x –これは、サンプルを選択する必要がある複数の要素のベクトルまたはデータセットにすることができます

サイズ–これは、選択するアイテムの数を示す正の整数です。

置換–置換の有無にかかわらず、サンプリングが必要かどうかに関係なく、これはTrueまたはFalseになります。

prob –サンプリングされているベクトルの要素を取得するための重みのベクトルを提供するために使用される引数です。

Table()関数

この関数は、特定の変数の一意の値の数を計算するために使用される度数分布表を作成します。 たとえば、アイリスデータセットを使用して度数分布表を作成しましょう。

table(iris $ Species)

上記のコードは、アイリスデータセット内の種のタイプを表すテーブルを作成します。

Duplicate()

Duplicate()メソッドは、データセットから重複する値を識別して削除するために使用されます。 引数としてベクトルまたはデータフレームを取り、重複する要素に対してTrueを返します。 例えば、

複製(c(1,1,3))

これにより、これらの要素のどれが重複しているかがチェックされ、TrueまたはFalseが返されます。

また読む:Rの決定木

dplyrパッケージを使用したRでのデータ操作

Rは、データ操作用のdplyrと呼ばれるシンプルで使いやすいパッケージを提供します。 パッケージには、操作、データ探索、および変換のためのいくつかの組み込みメソッドが含まれています。 このパッケージの最も重要な機能のいくつかをチェックしてみましょう。

選択する()

select()メソッドは、Rでのデータ操作の基本関数の1つです このメソッドは、Rの列を選択するために使用されます。これを使用して、列名と同じようにデータを選択できます。 列は、特定の条件に基づいて選択できます。 myDataというデータフレームの3番目と4番目の列を選択するとします。コードは次のようになります。

select(myData、3:4)

フィルター()

このメソッドは、特定の基準に一致するデータセットの行をフィルタリングするために使用されます。 これはselect()のように機能し、最初にデータフレームを渡し、次にコンマを使用して条件を渡します。

たとえば、データセット内の色が赤の車を含む列を除外する場合は、次のように記述する必要があります。

filter(cars、colour ==” Red”)

その結果、一致する行が表示されます。

mutate()

mutate()メソッド使用して、古い列を保持しながら、データセットに新しい列を作成できます。 これらの列は、条件を指定することで作成できます。 例えば、

mutate(mtcars、mtcars_new_col = mpg / cyl)

このコマンドでは、mtcarsデータセットに、 mpg列の値をcyl列で割った値を含む新しい列がmtcars_new_colに作成されます。

整える()

これは、1つ以上の変数を使用して、行を昇順または降順で並べ替えるために使用されます。 desc()メソッドを適用する代わりに、ソート変数の前にマイナス(-)記号を追加できます。 これは、並べ替えの降順を示します。 例えば、

アレンジ(my_dataset、-Sepal.Length)

group_by()

group_by()メソッドは、データセット内の観測値を1つまたは複数の変数でグループ化するために使用されます。

summarise()

summarise()関数は、平均、中央値、最頻値などのデータ洞察を決定するのに役立ちます。 これは、別のメソッドgroup_byによって作成されたグループ化されたデータと一緒に使用されます。 summarise()は、複数の値を1つの値に減らすのに役立ちます。

マージ()

merge()メソッドは、データセットを結合またはマージします。 これは、入力データの複数のソースを一緒にまとめるのに役立ちます。

このメソッドは、データセットをマージする4つの方法を提供します それらは以下に言及されています:

  • 自然結合これは、データフレーム内で指定された条件に一致する行を保持するために使用されます
  • 完全外部結合–これは、両方のデータフレームのすべての行をマージして保存します
  • 左外部結合–これは、データフレームAのすべての行、および一致するBの行を格納します
  • 右外部結合–これは、データフレームBのすべての行と、一致するAの行を格納します

rename_if()

これは、指定された条件が満たされたときにデータフレームの列の名前を変更するために使用できる関数です。

rename_all()

これは、条件を指定せずにデータフレームのすべての列の名前を変更するために使用されます。

世界のトップ大学からデータサイエンスコースを取得します。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムに参加して、キャリアを早めに進めましょう。

パイプオペレーター

パイプ演算子は、コード全体を簡素化するためにmagrittrやdplyrなどのパッケージで利用できます演算子を使用すると、複数の機能を組み合わせることができます。 %>%記号で示され、Rでのデータ操作中に、summarise()、filter()、select()、group_by()などの一般的なメソッドで使用できます。

dplyrの他に、Rでのデータ操作のためのCRANには他の多くのパッケージがあります 実際、コーディングとエラーを減らすための7000以上のパッケージがあります。 これらのパッケージの多くは専門の開発者によって作成されているため、安全にご利用いただけます。 これらには以下が含まれます:

  • データ表
  • 潤滑剤
  • ggplot2
  • リーダー
  • reshape2
  • tidyr

結論

Rでのデータ操作の初心者の場合は、 Rで使用できる組み込みの基本関数を使用できます。これらには、with()、within()、duplicate()、cut()、table()などのメソッドが含まれます。 sample()およびsort()。 しかし、それらは時間がかかり、反復的です。 これはあまり効率的なオプションではありません。

したがって、前進するための最良の方法は、dplyrなどのCRAN内の膨大な数のパッケージを使用することです。 これらは非常に便利で、プログラムをより効率的にします。

Rでのデータ操作に役立つパッケージはどれですか?

データ操作のプロセスは、利用可能なデータを変更し、データをより整理するとともに読みやすくするために使用されます。 多くの場合、データを収集したマシンには多くのエラーや不正確さがあります。 データ操作により、これらの不正確さを取り除き、より正確なデータを提供できます。

ggplot2、readr、dplyrなどのパッケージを使用したり、within()、with()などのBase R関数を使用したりするなど、Rでデータ操作を実行する方法はたくさんあります。ただし、dplyrパッケージは非常に考慮されています。 Rでのデータ操作に役立ちます。このパッケージは、データ操作用に特別に作成されたさまざまな関数で構成されており、他のメソッドやパッケージと比較してデータをより高速に処理できます。

Rのdplyrパッケージの目的は何ですか?

dplyrパッケージは、Rでのデータ操作に最大の効率を発揮するのに最適なパッケージであることが知られています。 以前は、plyrと呼ばれるこのパッケージがあり、それが繰り返されてdplyrが形成されました。 現在、dplyrは完全にデータフレームに焦点を合わせています。 これが、はるかに高速で、より優れた一貫性のあるAPIを備え、非常に使いやすい理由です。

dplyrパッケージは、Rの他のデータ操作パッケージと比較して、パフォーマンスが向上し、利用可能なデータを最大限に活用するように機能します。

データをどのように操作できますか?

データ操作を実行するには、特定の手順を一般的な順序で実行する必要があります。 以下の手順に従ってください。

1.まず、データソースから作成されたデータベースが必要です。
2.次に、データ操作を使用して、使用可能なデータをクリーンアップ、再配置、および再構築する必要があります。
3.次に、作業するデータベースを開発する必要があります。
4.ここで、利用可能な情報をマージ、削除、および変更できます。
5.最後に、利用可能なデータを分析し、そこから有用な情報を生成します。