R-quick-guide
R-概要
Rは、統計分析、グラフィックス表現、およびレポート作成のためのプログラミング言語およびソフトウェア環境です。 Rは、ニュージーランドのオークランド大学でRoss IhakaとRobert Gentlemanによって作成され、現在R Development Core Teamによって開発されています。
Rのコアは、関数を使用したモジュール式プログラミングだけでなく、分岐とループを可能にするインタープリター型コンピューター言語です。 Rを使用すると、C、C++、。Net、Python、またはFORTRAN言語で記述された手順と統合して効率を高めることができます。
RはGNU General Public Licenseの下で無料で入手でき、Linux、Windows、Macなどのさまざまなオペレーティングシステム用に、コンパイル済みのバイナリバージョンが提供されています。
Rは、GNUスタイルのコピーを残して配布されるフリーソフトウェアであり、 GNU S と呼ばれるGNUプロジェクトの公式部分です。
Rの進化
Rは、ニュージーランドのオークランドにあるオークランド大学統計学部の Ross Ihaka および Robert Gentleman によって最初に書かれました。 Rは1993年に初めて登場しました。
- 個人の大規模なグループは、コードとバグレポートを送信することでRに貢献しています。
- 1997年半ば以降、Rソースコードアーカイブを変更できるコアグループ(「Rコアチーム」)が存在します。
Rの特徴
前述のように、Rは、統計分析、グラフィックス表現、およびレポート用のプログラミング言語およびソフトウェア環境です。 以下は、Rの重要な特徴です-
- Rは、条件、ループ、ユーザー定義の再帰関数、入出力機能を含む、よく開発されたシンプルで効果的なプログラミング言語です。
- Rには、効果的なデータ処理および保管機能があり、
- Rは、配列、リスト、ベクトル、行列の計算のための一連の演算子を提供します。
- Rは、データ分析のための大規模で一貫性のある統合されたツールのコレクションを提供します。
- Rは、データ分析のためのグラフィック機能を提供し、コンピューターで直接表示するか、論文で印刷します。
結論として、Rは世界で最も広く使用されている統計プログラミング言語です。 これはデータサイエンティストの第1位の選択肢であり、貢献者の活気に満ちた才能のあるコミュニティによってサポートされています。 Rは大学で教えられ、ミッションクリティカルなビジネスアプリケーションで展開されます。 このチュートリアルでは、Rプログラミングと適切な例を簡単で簡単な手順で説明します。
R-環境設定
ローカル環境のセットアップ
引き続きRの環境をセットアップする場合は、以下の手順を実行できます。
Windowsインストール
RのWindowsインストーラーバージョンをhttps://cran.r-project.org/bin/windows/base/[R-3.2.2 for Windows(32/64ビット)]からダウンロードして、ローカルディレクトリに保存できます。 。
「R-version-win.exe」という名前のWindowsインストーラー(.exe)です。 ダブルクリックしてインストーラーを実行し、デフォルト設定を受け入れます。 Windowsが32ビットバージョンの場合、32ビットバージョンがインストールされます。 ただし、Windowsが64ビットの場合、32ビットバージョンと64ビットバージョンの両方がインストールされます。
インストール後、Windows Program Filesの下のディレクトリ構造「R \ R3.2.2 \ bin \ i386 \ Rgui.exe」でプログラムを実行するアイコンを見つけることができます。 このアイコンをクリックすると、Rプログラミングを行うためのRコンソールであるR-GUIが表示されます。
Linuxのインストール
Rは、https://cran.r-project.org/bin/linux/[R Binaries]からLinuxの多くのバージョンのバイナリとして入手できます。
Linuxのインストール手順は、フレーバーごとに異なります。 これらの手順は、記載されているリンクのLinuxバージョンの各タイプの下に記載されています。 ただし、急いでいる場合は、次のように yum コマンドを使用してRをインストールできます-
上記のコマンドは、標準パッケージとともにRプログラミングのコア機能をインストールしますが、追加のパッケージが必要な場合は、次のようにRプロンプトを起動できます-
これで、Rプロンプトでinstallコマンドを使用して、必要なパッケージをインストールできます。 たとえば、次のコマンドは3Dチャートに必要な plotrix パッケージをインストールします。
R-基本的な構文
慣例として、「Hello、World!」と書くことでRプログラミングの学習を開始します。プログラム。 ニーズに応じて、Rコマンドプロンプトでプログラムするか、Rスクリプトファイルを使用してプログラムを作成できます。 両方を1つずつ確認しましょう。
Rコマンドプロンプト
R環境をセットアップしたら、コマンドプロンプトで次のコマンドを入力するだけでRコマンドプロンプトを簡単に起動できます-
これにより、Rインタプリタが起動し、プロンプトが表示されます。次のようにプログラムの入力を開始できます-
ここで、最初のステートメントは、ストリング変数myStringを定義します。ここで、ストリング「Hello、World!」を割り当てます。次に、次のステートメントprint()を使用して、変数myStringに格納されている値を出力しています。
Rスクリプトファイル
通常、プログラムをスクリプトファイルに記述してプログラミングを行い、コマンドプロンプトで Rscript と呼ばれるRインタープリターを使用してそれらのスクリプトを実行します。 だから、次のようにtest.Rと呼ばれるテキストファイルに次のコードを書くことから始めましょう-
上記のコードをファイルtest.Rに保存し、以下のようにLinuxコマンドプロンプトで実行します。 Windowsまたは他のシステムを使用している場合でも、構文は変わりません。
上記のプログラムを実行すると、次の結果が生成されます。
コメント
コメントは、Rプログラムのテキストを支援するようなものであり、実際のプログラムの実行中はインタープリターによって無視されます。 単一のコメントは、次のようにステートメントの先頭に#を使用して書き込まれます-
Rは複数行のコメントをサポートしていませんが、次のようなトリックを実行できます-
上記のコメントはRインタプリタによって実行されますが、実際のプログラムに干渉することはありません。 このようなコメントは、一重引用符または二重引用符で囲む必要があります。
R-データ型
一般に、プログラミング言語でプログラミングを行う際には、さまざまな変数を使用してさまざまな情報を保存する必要があります。 変数は、値を保存するために予約されたメモリの場所に他なりません。 これは、変数を作成するときに、メモリの一部の領域を予約することを意味します。
文字、ワイド文字、整数、浮動小数点、二重浮動小数点、ブールなどのさまざまなデータ型の情報を保存することができます。 変数のデータ型に基づいて、オペレーティングシステムはメモリを割り当て、予約メモリに保存できるものを決定します。
RのCやjavaなどの他のプログラミング言語とは対照的に、変数は何らかのデータ型として宣言されていません。 変数にはRオブジェクトが割り当てられ、Rオブジェクトのデータ型は変数のデータ型になります。 Rオブジェクトには多くの種類があります。 頻繁に使用されるものは-
- ベクトル
- リスト
- 行列
- 配列
- 要因
- データフレーム
これらのオブジェクトの中で最も単純なものは* vectorオブジェクト*であり、これらのアトミックベクトルには6つのデータ型があり、6つのクラスのベクトルとも呼ばれます。 他のRオブジェクトは、アトミックベクトルに基づいて構築されます。
Data Type | Example | Verify |
---|---|---|
Logical | TRUE, FALSE |
それは次の結果を生成します- |
Numeric | 12.3, 5, 999 |
それは次の結果を生成します- |
Integer | 2L, 34L, 0L |
それは次の結果を生成します- |
Complex | 3 PLUS 2i |
それは次の結果を生成します- |
Character | 'a' , '"good", "TRUE", '23.4' |
それは次の結果を生成します- |
Raw | "Hello" is stored as 48 65 6c 6c 6f |
それは次の結果を生成します- |
Rプログラミングでは、非常に基本的なデータ型は vectors と呼ばれるRオブジェクトであり、上記のように異なるクラスの要素を保持します。 Rでは、クラスの数が上記の6つのタイプだけに限定されないことに注意してください。 たとえば、多くのアトミックベクトルを使用して、クラスが配列になる配列を作成できます。
ベクトル
複数の要素を含むベクターを作成する場合は、* c()*関数を使用して、要素をベクターに結合する必要があります。
上記のコードを実行すると、次の結果が生成されます-
リスト
リストは、ベクトル、関数、さらには別のリストなど、さまざまなタイプの要素を含むことができるRオブジェクトです。
上記のコードを実行すると、次の結果が生成されます-
行列
マトリックスは、2次元の長方形のデータセットです。 行列関数へのベクトル入力を使用して作成できます。
上記のコードを実行すると、次の結果が生成されます-
配列
行列は2次元に制限されていますが、配列は任意の次元数にすることができます。 配列関数は、必要な次元数を作成するdim属性を取ります。 以下の例では、それぞれ3x3のマトリックスである2つの要素を持つ配列を作成します。
上記のコードを実行すると、次の結果が生成されます-
要因
因子は、ベクトルを使用して作成されるrオブジェクトです。 ラベルとしてベクトル内の要素の個別の値とともにベクトルを保存します。 ラベルは、数値、文字、ブールなどに関係なく、常に文字です。 入力ベクトル内。 これらは統計モデリングに役立ちます。
因子は* factor()関数を使用して作成されます。 *nlevels 関数は、レベルのカウントを提供します。
上記のコードを実行すると、次の結果が生成されます-
データフレーム
データフレームは表形式のデータオブジェクトです。 データフレームのマトリックスとは異なり、各列には異なるモードのデータを含めることができます。 最初の列は数値、2番目の列は文字、3番目の列は論理値にすることができます。 等しい長さのベクトルのリストです。
データフレームは、* data.frame()*関数を使用して作成されます。
上記のコードを実行すると、次の結果が生成されます-
R-変数
変数は、プログラムが操作できる名前付きストレージを提供します。 Rの変数は、原子ベクトル、原子ベクトルのグループ、または多くのRobjectの組み合わせを格納できます。 有効な変数名は、文字、数字、ドットまたは下線文字で構成されます。 変数名は、文字で始まるか、数字が続かないドットで始まります。
Variable Name | Validity | Reason |
---|---|---|
var_name2. | valid | Has letters, numbers, dot and underscore |
var_name% | Invalid | Has the character '%'. Only dot(.) and underscore allowed. |
2var_name | invalid | Starts with a number |
var_name,. var.name |
valid | Can start with a dot(.) but the dot(.)should not be followed by a number. |
.2var_name | invalid | The starting dot is followed by a number making it invalid. |
_var_name | invalid | Starts with _ which is not valid |
変数の割り当て
変数には、左向き、右向き、および等しい演算子を使用して値を割り当てることができます。 変数の値は、* print()または cat()*関数を使用して出力できます。 * cat()*関数は、複数のアイテムを連続印刷出力に結合します。
上記のコードを実行すると、次の結果が生成されます-
注-ベクトルc(TRUE、1)には、論理クラスと数値クラスが混在しています。 したがって、論理クラスは数値クラスに強制され、TRUEが1になります。
変数のデータ型
Rでは、変数自体はどのデータ型でも宣言されず、R-オブジェクトに割り当てられたオブジェクトのデータ型を取得します。 したがって、Rは動的に型指定された言語と呼ばれます。つまり、プログラムで変数を使用するときに、同じ変数の変数のデータ型を何度も変更できます。
上記のコードを実行すると、次の結果が生成されます-
変数を見つける
ワークスペースで現在使用可能なすべての変数を知るには、* ls()*関数を使用します。 また、ls()関数は、パターンを使用して変数名を照合できます。
上記のコードを実行すると、次の結果が生成されます-
注-環境で宣言されている変数に応じたサンプル出力です。
ls()関数は、パターンを使用して変数名を照合できます。
上記のコードを実行すると、次の結果が生成されます-
- dot(。)*で始まる変数は非表示になり、ls()関数の「all.names = TRUE」引数を使用してリストできます。
上記のコードを実行すると、次の結果が生成されます-
変数を削除する
- rm()*関数を使用して、変数を削除できます。 以下では、変数var.3を削除します。 印刷時に、変数errorの値がスローされます。
上記のコードを実行すると、次の結果が生成されます-
すべての変数は、* rm()関数と ls()*関数を一緒に使用して削除できます。
上記のコードを実行すると、次の結果が生成されます-
R-演算子
演算子は、特定の数学的または論理的な操作を実行するようコンパイラーに指示する記号です。 R言語には組み込みの演算子が豊富で、次の種類の演算子が用意されています。
演算子の種類
Rプログラミングには次のタイプの演算子があります-
- 算術演算子
- 関係演算子
- 論理演算子
- 割り当て演算子
- その他の演算子
算術演算子
次の表に、R言語でサポートされている算術演算子を示します。 演算子は、ベクトルの各要素に作用します。
Operator | Description | Example |
---|---|---|
PLUS | Adds two vectors |
それは次の結果を生成します- |
− | Subtracts second vector from the first |
それは次の結果を生成します- |
* | Multiplies both vectors |
それは次の結果を生成します- |
/ | Divide the first vector with the second |
上記のコードを実行すると、次の結果が生成されます- |
%% | Give the remainder of the first vector with the second |
それは次の結果を生成します- |
%/% | The result of division of first vector with second (quotient) |
それは次の結果を生成します- |
^ | The first vector raised to the exponent of second vector |
それは次の結果を生成します- |
関係演算子
次の表に、R言語でサポートされている関係演算子を示します。 最初のベクトルの各要素は、2番目のベクトルの対応する要素と比較されます。 比較の結果はブール値です。
Operator | Description | Example |
---|---|---|
> | Checks if each element of the first vector is greater than the corresponding element of the second vector. |
それは次の結果を生成します- |
< | Checks if each element of the first vector is less than the corresponding element of the second vector. |
それは次の結果を生成します- |
== | Checks if each element of the first vector is equal to the corresponding element of the second vector. |
それは次の結果を生成します- |
⇐ | Checks if each element of the first vector is less than or equal to the corresponding element of the second vector. |
それは次の結果を生成します- |
>= | Checks if each element of the first vector is greater than or equal to the corresponding element of the second vector. |
それは次の結果を生成します- |
!= | Checks if each element of the first vector is unequal to the corresponding element of the second vector. |
それは次の結果を生成します- |
論理演算子
次の表に、R言語でサポートされる論理演算子を示します。 論理型、数値型、または複素数型のベクトルにのみ適用できます。 1より大きいすべての数値は、論理値TRUEと見なされます。
最初のベクトルの各要素は、2番目のベクトルの対応する要素と比較されます。 比較の結果はブール値です。
Operator | Description | Example |
---|---|---|
& | It is called Element-wise Logical AND operator. It combines each element of the first vector with the corresponding element of the second vector and gives a output TRUE if both the elements are TRUE. |
それは次の結果を生成します- |
It is called Element-wise Logical OR operator. It combines each element of the first vector with the corresponding element of the second vector and gives a output TRUE if one the elements is TRUE. | ||
t) ---- それは次の結果を生成します- [source,result,notranslate] ---- [1] TRUE FALSE TRUE TRUE ---- |
! |
論理演算子&&および||ベクトルの最初の要素のみを考慮し、出力として単一要素のベクトルを与えます。
Operator | Description | Example |
---|---|---|
&& | Called Logical AND operator. Takes first element of both the vectors and gives the TRUE only if both are TRUE. |
それは次の結果を生成します- |
Called Logical OR operator. Takes first element of both the vectors and gives the TRUE if one of them is TRUE. |
割り当て演算子
これらの演算子は、ベクトルに値を割り当てるために使用されます。
Operator | Description | Example |
---|---|---|
<− or = or <<− |
Called Left Assignment |
それは次の結果を生成します- a |
→ or →> |
Called Right Assignment |
それは次の結果を生成します- |
その他の演算子
これらの演算子は、一般的な数学的または論理的な計算ではなく、特定の目的に使用されます。
Operator | Description | Example |
---|---|---|
: | Colon operator. It creates the series of numbers in sequence for a vector. |
それは次の結果を生成します- |
%in% | This operator is used to identify if an element belongs to a vector. |
それは次の結果を生成します- |
%*% | This operator is used to multiply a matrix with its transpose. |
それは次の結果を生成します- |
R-意思決定
意思決定構造では、プログラマーは、プログラムが評価またはテストする1つ以上の条件を、条件が true であると判断された場合に実行されるステートメント、およびオプションで次の場合に実行されるステートメントとともに指定する必要があります。条件は false であると判断されます。
以下は、ほとんどのプログラミング言語で見られる典型的な意思決定構造の一般的な形式です-
Rは、以下のタイプの意思決定ステートメントを提供します。 詳細を確認するには、次のリンクをクリックしてください。
Sr.No. | Statement & Description |
---|---|
1 |
|
2 |
|
3 |
|
R-ループ
コードのブロックを数回実行する必要がある場合があります。 一般に、ステートメントは順番に実行されます。 関数の最初のステートメントが最初に実行され、次に2番目のステートメントが実行されます。
プログラミング言語は、より複雑な実行パスを可能にするさまざまな制御構造を提供します。
ループステートメントを使用すると、ステートメントまたはステートメントのグループを複数回実行できます。次は、ほとんどのプログラミング言語でのループステートメントの一般的な形式です-
Rプログラミング言語は、ループ要件を処理するために次の種類のループを提供します。 詳細を確認するには、次のリンクをクリックしてください。
Sr.No. | Loop Type & Description |
---|---|
1 |
一連のステートメントを複数回実行し、ループ変数を管理するコードを短縮します。 |
2 |
特定の条件が真の間、ステートメントまたはステートメントのグループを繰り返します。 ループ本体を実行する前に条件をテストします。 |
3 |
whileステートメントと似ていますが、ループ本体の最後で条件をテストします。 |
ループ制御ステートメント
ループ制御ステートメントは、通常のシーケンスから実行を変更します。 実行がスコープを離れると、そのスコープで作成されたすべての自動オブジェクトが破棄されます。
Rは、次の制御ステートメントをサポートしています。 詳細を確認するには、次のリンクをクリックしてください。
Sr.No. | Control Statement & Description |
---|---|
1 |
|
2 |
|
R-関数
関数は、特定のタスクを実行するためにまとめられた一連のステートメントです。 Rには多数の組み込み関数があり、ユーザーは独自の関数を作成できます。
Rでは、関数はオブジェクトであるため、Rインタープリターは、関数がアクションを実行するために必要な引数とともに、制御を関数に渡すことができます。
次に、関数はそのタスクを実行し、インタープリターに制御を返します。また、他のオブジェクトに格納される可能性のある結果を返します。
関数定義
R関数は、キーワード function を使用して作成されます。 R関数定義の基本的な構文は次のとおりです-
機能コンポーネント
関数のさまざまな部分は-
- 関数名-これは関数の実際の名前です。 この名前のオブジェクトとしてR環境に保存されます。
- 引数-引数はプレースホルダーです。 関数が呼び出されると、引数に値を渡します。 引数はオプションです。つまり、関数には引数が含まれない場合があります。 また、引数にはデフォルト値を設定できます。
- 関数本体-関数本体には、関数の動作を定義するステートメントのコレクションが含まれています。
- 戻り値-関数の戻り値は、評価される関数本体の最後の式です。
Rには、最初に定義せずにプログラムで直接呼び出すことができる多くの*組み込み*関数があります。 また、*ユーザー定義*関数と呼ばれる独自の関数を作成して使用することもできます。
組み込み関数
組み込み関数の簡単な例は、* seq()、 mean()、 max()、 sum(x)、および paste(…)*などです。 これらは、ユーザー作成プログラムによって直接呼び出されます。 https://cran.r-project.org/doc/contrib/Short-refcard.pdf [最も広く使用されているR関数]を参照できます。
上記のコードを実行すると、次の結果が生成されます-
ユーザー定義関数
Rでユーザー定義関数を作成できます。 これらはユーザーが望むものに固有のものであり、一度作成すると組み込み関数のように使用できます。 以下は、関数がどのように作成され使用されるかの例です。
関数を呼び出す
上記のコードを実行すると、次の結果が生成されます-
引数なしで関数を呼び出す
上記のコードを実行すると、次の結果が生成されます-
引数値を使用した関数の呼び出し(位置および名前による)
関数呼び出しの引数は、関数で定義されているのと同じ順序で指定するか、別の順序で指定しますが、引数の名前に割り当てることができます。
上記のコードを実行すると、次の結果が生成されます-
デフォルト引数で関数を呼び出す
関数定義で引数の値を定義し、引数を指定せずに関数を呼び出してデフォルトの結果を取得できます。 ただし、引数の新しい値を指定してこのような関数を呼び出し、デフォルト以外の結果を取得することもできます。
上記のコードを実行すると、次の結果が生成されます-
関数の遅延評価
関数への引数は遅延評価されます。つまり、関数本体で必要な場合にのみ評価されます。
上記のコードを実行すると、次の結果が生成されます-
R-ストリング
Rの単一引用符または二重引用符のペア内に記述された値は、文字列として扱われます。 内部的にRは、単一引用符で作成した場合でも、すべての文字列を二重引用符で囲んで保存します。
文字列の構築に適用されるルール
- 文字列の先頭と末尾の引用符は、両方とも二重引用符か両方とも単一引用符にする必要があります。 それらを混在させることはできません。
- 二重引用符は、単一引用符で開始および終了する文字列に挿入できます。
- 単一引用符は、二重引用符で始まり、二重引用符で終わる文字列に挿入できます。
- 二重引用符で始まり、二重引用符で終わる文字列に二重引用符を挿入することはできません。
- 単一引用符は、単一引用符で始まり、単一引用符で終わる文字列に挿入できません。
有効な文字列の例
次の例は、Rでの文字列の作成に関するルールを明確にします。
上記のコードを実行すると、次の出力が得られます-
無効な文字列の例
スクリプトを実行すると、以下の結果が表示されて失敗します。
文字列操作
文字列の連結-paste()関数
Rの多くの文字列は、* paste()*関数を使用して結合されます。 任意の数の引数を組み合わせて組み合わせることができます。
構文
貼り付け機能の基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- … は、結合される任意の数の引数を表します。
- sep は、引数間の区切り文字を表します。 オプションです。
- collapse は、2つの文字列の間のスペースを削除するために使用されます。 しかし、1つの文字列の2つの単語内のスペースではありません。
例
上記のコードを実行すると、次の結果が生成されます-
数字と文字列のフォーマット-format()関数
- format()*関数を使用して、数字と文字列を特定のスタイルにフォーマットできます。
構文
フォーマット機能の基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- x はベクトル入力です。
- digits は、表示される合計桁数です。
- nsmall は、小数点の右側の最小桁数です。
- 科学表記法を表示するには、 scientific をTRUEに設定します。
- width は、先頭に空白を埋めることによって表示される最小幅を示します。
- justify は、文字列を左、右、または中央に表示します。
例
上記のコードを実行すると、次の結果が生成されます-
文字列の文字数を数える-nchar()関数
この関数は、文字列内のスペースを含む文字数をカウントします。
構文
nchar()関数の基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- x はベクトル入力です。
例
上記のコードを実行すると、次の結果が生成されます-
大文字と小文字の変更-toupper()およびtolower()関数
これらの関数は、文字列の文字の大文字と小文字を変更します。
構文
toupper()およびtolower()関数の基本的な構文は-
以下は、使用されるパラメータの説明です-
- x はベクトル入力です。
例
上記のコードを実行すると、次の結果が生成されます-
文字列の一部の抽出-substring()関数
この関数は、文字列の一部を抽出します。
構文
substring()関数の基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- x は文字ベクトル入力です。
- first は、抽出される最初の文字の位置です。
- last は、抽出される最後の文字の位置です。
例
上記のコードを実行すると、次の結果が生成されます-
R-ベクトル
ベクトルは最も基本的なRデータオブジェクトであり、6種類のアトミックベクトルがあります。 論理、整数、倍精度、複素数、文字、および生です。
ベクター作成
単一要素ベクトル
Rに値を1つだけ記述しても、長さ1のベクトルになり、上記のベクトルタイプのいずれかに属します。
上記のコードを実行すると、次の結果が生成されます-
複数の要素のベクトル
数値データでコロン演算子を使用
上記のコードを実行すると、次の結果が生成されます-
シーケンス(Seq。)演算子を使用
上記のコードを実行すると、次の結果が生成されます-
- c()関数の使用 *
要素の1つが文字である場合、非文字値は文字タイプに強制されます。
上記のコードを実行すると、次の結果が生成されます-
ベクター要素へのアクセス
ベクターの要素には、インデックスを使用してアクセスします。* []角括弧*はインデックス作成に使用されます。 インデックス作成は位置1から始まります。 インデックスに負の値を指定すると、その要素がresultから削除されます。 TRUE 、 FALSE 、または 0 および 1 は、インデックス作成にも使用できます。
上記のコードを実行すると、次の結果が生成されます-
ベクトル操作
ベクトル演算
同じ長さの2つのベクトルを加算、減算、乗算、または除算して、ベクトル出力として結果を得ることができます。
上記のコードを実行すると、次の結果が生成されます-
ベクター要素のリサイクル
長さが等しくない2つのベクトルに算術演算を適用すると、短いベクトルの要素はリサイクルされて演算が完了します。
上記のコードを実行すると、次の結果が生成されます-
ベクター要素の並べ替え
ベクトルの要素は、* sort()*関数を使用してソートできます。
上記のコードを実行すると、次の結果が生成されます-
R-リスト
リストは、数、文字列、ベクトルなどのさまざまなタイプの要素を含むRオブジェクトです。 リストには、要素として行列または関数を含めることもできます。 リストは* list()*関数を使用して作成されます。
リストを作成する
以下は、文字列、数値、ベクトル、論理値を含むリストを作成する例です。
上記のコードを実行すると、次の結果が生成されます-
#ベクトル、マトリックス、リストを含むリストを作成します。 list_data ←list(c( "Jan"、 "Feb"、 "Mar")、matrix(c(3,9,5,1、-2,8)、nrow = 2)、list( "green"、12.3 ))
#リスト内の要素に名前を付けます。 names(list_data)←c( "1st Quarter"、 "A_Matrix"、 "A内部リスト")
#リストを表示します。 print(list_data)
$ 1st_Quarter
[1] "Jan" "Feb" "Mar"
$ A_Matrix [、1] [、2] [、3] [1,] 3 5 -2 [2,] 9 1 8
$ A_Inner_list $ A_Inner_list [[green "
$ A_Inner_list [[リスト要素へのアクセス
リストの要素には、リスト内の要素のインデックスを使用してアクセスできます。 名前付きリストの場合、名前を使用してアクセスすることもできます。
上記の例のリストを使用し続けます-
上記のコードを実行すると、次の結果が生成されます-
#ベクトル、マトリックス、リストを含むリストを作成します。 list_data ←list(c( "Jan"、 "Feb"、 "Mar")、matrix(c(3,9,5,1、-2,8)、nrow = 2)、list( "green"、12.3 ))
#リスト内の要素に名前を付けます。 names(list_data)←c( "1st Quarter"、 "A_Matrix"、 "A内部リスト")
#リストの最後に要素を追加します。 list_data [4] ←"新しい要素" print(list_data [4])
#最後の要素を削除します。 list_data [4] ←NULL
#4番目の要素を印刷します。 print(list_data [4])
#3番目の要素を更新します。 list_data [3] ←"更新された要素" print(list_data [3])
[[新しい要素]
$ <NA> NULL
$ 内部リスト
[1] "updated element"
#2つのリストを作成します。 list1 ←list(1,2,3)list2 ←list( "Sun"、 "Mon"、 "Tue")
#2つのリストをマージします。 merged.list ←c(list1、list2)
#結合リストを印刷します。 print(merged.list)
[[太陽"
[[月]
[[火]
Converting List to Vector
A list can be converted to a vector so that the elements of the vector can be used for further manipulation. All the arithmetic operations on vectors can be applied after the list is converted into vectors. To do this conversion, we use the unlist() function. It takes the list as input and produces a vector.
When we execute the above code, it produces the following result −
R-行列
行列は、要素が2次元の長方形のレイアウトで配置されているRオブジェクトです。 それらには、同じ原子型の要素が含まれます。 文字のみまたは論理値のみを含むマトリックスを作成できますが、あまり役に立ちません。 数学的計算に使用される数値要素を含む行列を使用します。
マトリックスは、* matrix()*関数を使用して作成されます。
構文
Rで行列を作成するための基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- data は、行列のデータ要素になる入力ベクトルです。
- nrow は、作成される行の数です。
- ncol は、作成される列の数です。
- byrow は論理的な手がかりです。 TRUEの場合、入力ベクトル要素は行ごとに配置されます。
- dimname は、行と列に割り当てられた名前です。
例
入力として数値のベクトルを取る行列を作成します。
上記のコードを実行すると、次の結果が生成されます-
マトリックスの要素へのアクセス
行列の要素には、要素の列と行のインデックスを使用してアクセスできます。 以下の特定の要素を見つけるために、上の行列Pを考慮します。
上記のコードを実行すると、次の結果が生成されます-
行列計算
R演算子を使用して、行列に対してさまざまな数学演算が実行されます。 演算の結果も行列です。
次元(行と列の数)は、操作に関係する行列で同じでなければなりません。
行列の加算と減算
上記のコードを実行すると、次の結果が生成されます-
行列の乗算と除算
上記のコードを実行すると、次の結果が生成されます-
R-配列
配列は、3次元以上でデータを保存できるRデータオブジェクトです。 たとえば-次元の配列(2、3、4)を作成すると、それぞれ2行3列の4つの長方形行列が作成されます。 配列はデータ型のみを保存できます。
配列は* array()関数を使用して作成されます。 入力としてベクトルを受け取り、 *dim パラメーターの値を使用して配列を作成します。
例
次の例では、それぞれ3行3列の2つの3x3行列の配列を作成します。
上記のコードを実行すると、次の結果が生成されます-
列と行の命名
上記のコードを実行すると、次の結果が生成されます-
配列要素へのアクセス
上記のコードを実行すると、次の結果が生成されます-
配列要素の操作
配列は複数の次元のマトリックスで構成されているため、配列の要素に対する操作は、マトリックスの要素にアクセスすることで実行されます。
上記のコードを実行すると、次の結果が生成されます-
配列要素全体の計算
- apply()*関数を使用して、配列内の要素間で計算を行うことができます。
構文
以下は、使用されるパラメータの説明です-
- x は配列です。
- margin は、使用されるデータセットの名前です。
- fun は、配列の要素全体に適用される関数です。
例
以下のapply()関数を使用して、すべてのマトリックスにわたる配列の行の要素の合計を計算します。
上記のコードを実行すると、次の結果が生成されます-
R-要因
ファクターは、データを分類してレベルとして保存するために使用されるデータオブジェクトです。 文字列と整数の両方を保存できます。 これらは、限られた数の一意の値を持つ列で役立ちます。 「男性、女性」、True、Falseなど。 統計モデリングのデータ分析に役立ちます。
因子は、ベクトルを入力として* factor()*関数を使用して作成されます。
例
上記のコードを実行すると、次の結果が生成されます-
データフレームの要因
テキストデータの列を持つデータフレームを作成すると、Rはテキスト列をカテゴリカルデータとして扱い、その列にファクターを作成します。
上記のコードを実行すると、次の結果が生成されます-
レベルの順序を変更する
因子内のレベルの順序は、新しいレベルの順序で因子関数を再度適用することにより変更できます。
上記のコードを実行すると、次の結果が生成されます-
因子レベルの生成
- gl()*関数を使用して、因子レベルを生成できます。 入力として2つの整数を取り、それはレベルの数と各レベルの回数を示します。
構文
以下は、使用されるパラメータの説明です-
- n はレベル数を示す整数です。
- k は、レプリケーションの数を示す整数です。
- labels は、結果の因子レベルのラベルのベクトルです。
例
上記のコードを実行すると、次の結果が生成されます-
R-データフレーム
データフレームはテーブルまたは2次元配列のような構造で、各列には1つの変数の値が含まれ、各行には各列の値のセットが1つ含まれます。
以下は、データフレームの特性です。
- 列名は空ではないはずです。
- 行名は一意である必要があります。
- データフレームに格納されるデータは、数値、ファクタ、または文字タイプです。
- 各列には同じ数のデータ項目が含まれている必要があります。
データフレームの作成
上記のコードを実行すると、次の結果が生成されます-
データフレームの構造を取得する
データフレームの構造は、* str()*関数を使用して確認できます。
上記のコードを実行すると、次の結果が生成されます-
データフレームのデータの概要
統計の概要とデータの性質は、* summary()*関数を適用することで取得できます。
上記のコードを実行すると、次の結果が生成されます-
データフレームからデータを抽出する
列名を使用してデータフレームから特定の列を抽出します。
上記のコードを実行すると、次の結果が生成されます-
最初の2行を抽出してから、すべての列を抽出します
上記のコードを実行すると、次の結果が生成されます-
2 ^ nd ^および4 ^ th ^列で3 ^ rd ^および5 ^ th ^行を抽出します
上記のコードを実行すると、次の結果が生成されます-
データフレームを展開
データフレームは、列と行を追加することで拡張できます。
列を追加
新しい列名を使用して列ベクトルを追加するだけです。
上記のコードを実行すると、次の結果が生成されます-
行を追加する
既存のデータフレームに永続的に行を追加するには、既存のデータフレームと同じ構造で新しい行を取り込み、* rbind()*関数を使用する必要があります。
以下の例では、新しい行を含むデータフレームを作成し、既存のデータフレームとマージして最終的なデータフレームを作成します。
上記のコードを実行すると、次の結果が生成されます-
R-パッケージ
Rパッケージは、R関数、コンパイルされたコード、およびサンプルデータのコレクションです。 これらは、R環境の "library" というディレクトリに保存されます。 デフォルトでは、Rはインストール中に一連のパッケージをインストールします。 いくつかの特定の目的で必要になったときに、後でパッケージが追加されます。 Rコンソールを起動すると、デフォルトではデフォルトのパッケージのみが利用可能です。 既にインストールされている他のパッケージは、それらを使用するRプログラムで使用するために明示的にロードする必要があります。
R言語で利用可能なすべてのパッケージは、https://cran.r-project.org/web/packages/available_packages_by_namel [R Packages。]にリストされています。
以下は、Rパッケージをチェック、検証、使用するために使用するコマンドのリストです。
利用可能なRパッケージを確認する
Rパッケージを含むライブラリの場所を取得する
上記のコードを実行すると、次の結果が生成されます。 PCのローカル設定によって異なる場合があります。
インストールされているすべてのパッケージのリストを取得します
上記のコードを実行すると、次の結果が生成されます。 PCのローカル設定によって異なる場合があります。
R環境に現在ロードされているすべてのパッケージを取得します
上記のコードを実行すると、次の結果が生成されます。 PCのローカル設定によって異なる場合があります。
新しいパッケージをインストールする
新しいRパッケージを追加するには2つの方法があります。 1つはCRANディレクトリから直接インストールする方法、もう1つはローカルシステムにパッケージをダウンロードして手動でインストールする方法です。
CRANから直接インストールする
次のコマンドは、CRAN Webページからパッケージを直接取得し、R環境にパッケージをインストールします。 最も近いミラーを選択するように求められる場合があります。 あなたの場所に適したものを選択してください。
パッケージを手動でインストールする
リンクhttps://cran.r-project.org/web/packages/available_packages_by_namel[R Packages]にアクセスして、必要なパッケージをダウンロードします。 パッケージを .zip ファイルとしてローカルシステムの適切な場所に保存します。
これで、次のコマンドを実行して、このパッケージをR環境にインストールできます。
パッケージをライブラリにロード
パッケージをコードで使用する前に、現在のR環境にロードする必要があります。 また、既にインストールされているが現在の環境では利用できないパッケージをロードする必要があります。
パッケージは、次のコマンドを使用してロードされます-
R-データの形状変更
Rでのデータの再形成とは、データを行と列に編成する方法を変更することです。 Rでのデータ処理のほとんどは、入力データをデータフレームとして取得することによって行われます。 データフレームの行と列からデータを抽出するのは簡単ですが、受信した形式とは異なる形式のデータフレームが必要な場合があります。 Rには、データフレーム内で行を列に、またはその逆に分割、マージ、および変更するための多くの機能があります。
データフレーム内の列と行の結合
- cbind()*関数を使用して、複数のベクトルを結合してデータフレームを作成できます。 また、 rbind()*関数を使用して2つのデータフレームをマージできます。
上記のコードを実行すると、次の結果が生成されます-
データフレームの結合
- merge()*関数を使用して、2つのデータフレームをマージできます。 データフレームには、マージが発生する列名が同じである必要があります。
以下の例では、ライブラリ名「MASS」で利用可能なピマインド女性の糖尿病に関するデータセットを検討します。 血圧( "bp")とボディマスインデックス( "bmi")の値に基づいて2つのデータセットをマージします。 マージのためにこれらの2つの列を選択すると、これら2つの変数の値が両方のデータセットで一致するレコードが結合されて、単一のデータフレームが形成されます。
上記のコードを実行すると、次の結果が生成されます-
溶解と鋳造
Rプログラミングの最も興味深い側面の1つは、データの形状を複数のステップで変更して、目的の形状にすることです。 これを行うために使用される関数は、* melt()および cast()*と呼ばれます。
「MASS」というライブラリに存在する「ships」というデータセットを検討します。
上記のコードを実行すると、次の結果が生成されます-
データを溶かす
次に、データを融解して整理し、タイプと年以外のすべての列を複数の行に変換します。
上記のコードを実行すると、次の結果が生成されます-
溶融データのキャスト
溶融データを新しい形式にキャストして、各年の各タイプの船舶の集合体を作成できます。 * cast()*関数を使用して行われます。
上記のコードを実行すると、次の結果が生成されます-
R-CSVファイル
Rでは、R環境の外部に保存されているファイルからデータを読み取ることができます。 また、オペレーティングシステムによって保存およびアクセスされるファイルにデータを書き込むこともできます。 Rは、csv、excel、xmlなどのさまざまなファイル形式を読み書きできます。
この章では、csvファイルからデータを読み取り、csvファイルにデータを書き込む方法を学習します。 Rが読み取れるように、ファイルは現在の作業ディレクトリに存在する必要があります。 もちろん、独自のディレクトリを設定し、そこからファイルを読み取ることもできます。
作業ディレクトリの取得と設定
- getwd()*関数を使用して、Rワークスペースが指しているディレクトリを確認できます。 setwd()関数を使用して、新しい作業ディレクトリを設定することもできます。
上記のコードを実行すると、次の結果が生成されます-
この結果は、使用しているOSと現在のディレクトリによって異なります。
CSVファイルとして入力
csvファイルは、列の値がコンマで区切られたテキストファイルです。 input.csv という名前のファイルに存在する次のデータを考えてみましょう。
このデータをコピーして貼り付けることにより、Windowsのメモ帳を使用してこのファイルを作成できます。 メモ帳の[すべてのファイルとして保存(。)]オプションを使用して、ファイルを input.csv として保存します。
CSVファイルの読み取り
以下は、現在の作業ディレクトリで使用可能なCSVファイルを読み取る* read.csv()*関数の簡単な例です-
上記のコードを実行すると、次の結果が生成されます-
CSVファイルの分析
デフォルトでは、* read.csv()*関数は出力をデータフレームとして提供します。 これは次のように簡単に確認できます。 また、列と行の数を確認できます。
上記のコードを実行すると、次の結果が生成されます-
データフレームのデータを読み取った後、次のセクションで説明するように、データフレームに適用可能なすべての機能を適用できます。
最高給与を取得
上記のコードを実行すると、次の結果が生成されます-
最高給与の人の詳細を取得する
SQLのwhere句に似た特定のフィルター基準を満たす行をフェッチできます。
上記のコードを実行すると、次の結果が生成されます-
IT部門で働くすべての人々を獲得する
上記のコードを実行すると、次の結果が生成されます-
給与が600を超えるIT部門の人を取得する
上記のコードを実行すると、次の結果が生成されます-
2014年以降に参加した人を取得する
上記のコードを実行すると、次の結果が生成されます-
CSVファイルへの書き込み
Rは、既存のデータフレームからCSVファイルを作成できます。 * write.csv()*関数を使用して、csvファイルを作成します。 このファイルは作業ディレクトリに作成されます。
上記のコードを実行すると、次の結果が生成されます-
ここで、列Xはデータセットnewperに由来します。 これは、ファイルの書き込み中に追加のパラメーターを使用して削除できます。
上記のコードを実行すると、次の結果が生成されます-
R-Excelファイル
Microsoft Excelは、最も広く使用されているスプレッドシートプログラムで、データを.xlsまたは.xlsx形式で保存します。 Rは、Excel固有のパッケージを使用してこれらのファイルから直接読み取ることができます。 そのようなパッケージはほとんどありません-XLConnect、xlsx、gdataなど。 xlsxパッケージを使用します。 Rは、このパッケージを使用してExcelファイルに書き込むこともできます。
xlsxパッケージをインストールする
Rコンソールで次のコマンドを使用して、「xlsx」パッケージをインストールできます。 このパッケージが依存するいくつかの追加パッケージをインストールするように求められる場合があります。 必要なパッケージ名を指定して同じコマンドを実行し、追加のパッケージをインストールします。
「xlsx」パッケージの確認とロード
次のコマンドを使用して、「xlsx」パッケージを確認およびロードします。
スクリプトを実行すると、次の出力が得られます。
xlsxファイルとして入力
Microsoft Excelを開きます。 次のデータをコピーして、sheet1という名前のワークシートに貼り付けます。
また、次のデータをコピーして別のワークシートに貼り付け、このワークシートの名前を「city」に変更します。
Excelファイルを「input.xlsx」として保存します。 Rワークスペースの現在の作業ディレクトリに保存する必要があります。
Excelファイルの読み取り
input.xlsxは、以下に示すように* read.xlsx()*関数を使用して読み取られます。 結果は、データフレームとしてR環境に保存されます。
上記のコードを実行すると、次の結果が生成されます-
R-バイナリファイル
バイナリファイルは、ビットとバイトの形式でのみ格納された情報を含むファイルです(0と1)。 その中のバイトは、他の多くの印刷不可能な文字を含む文字や記号に変換されるため、人間が読むことはできません。 テキストエディターを使用してバイナリファイルを読み取ろうとすると、Øやðなどの文字が表示されます。
バイナリファイルを使用するには、特定のプログラムで読み取る必要があります。 たとえば、Microsoft Wordプログラムのバイナリファイルは、Wordプログラムでのみ人間が読み取れる形式に読み取ることができます。 これは、人間が読めるテキストの他に、文字やページ番号などの書式設定など、英数字とともに保存される情報がはるかに多いことを示しています。 最後に、バイナリファイルは連続したバイトシーケンスです。 テキストファイルに表示される改行は、最初の行を次の行に結合する文字です。
他のプログラムによって生成されたデータは、Rによってバイナリファイルとして処理される必要がある場合があります。 また、Rは他のプログラムと共有できるバイナリファイルを作成するために必要です。
Rには、バイナリファイルを作成および読み取るための2つの関数* WriteBin()および readBin()*があります。
構文
以下は、使用されるパラメータの説明です-
- con は、バイナリファイルを読み書きする接続オブジェクトです。
- object は書き込まれるバイナリファイルです。
- what は、文字、整数などのモードです。 読み込むバイトを表します。
- n は、バイナリファイルから読み取るバイト数です。
例
Rの組み込みデータ「mtcars」を考慮します。 まず、csvファイルを作成してバイナリファイルに変換し、OSファイルとして保存します。 次に、Rに作成されたこのバイナリファイルを読み取ります。
バイナリファイルの作成
データフレーム「mtcars」をcsvファイルとして読み取り、バイナリファイルとしてOSに書き込みます。
バイナリファイルの読み取り
上記で作成されたバイナリファイルは、すべてのデータを連続したバイトとして保存します。 したがって、列の値と同様に列名の適切な値を選択して読み取ります。
上記のコードを実行すると、次の結果とグラフが生成されます-
ご覧のとおり、Rのバイナリファイルを読み取ることで元のデータを取得しました。
R-XMLファイル
XMLは、ファイル形式とWorld Wide Web、イントラネット、および標準ASCIIテキストを使用する他の場所のデータの両方を共有するファイル形式です。 Extensible Markup Language(XML)の略です。 HTMLと同様に、マークアップタグが含まれています。 しかし、マークアップタグがページの構造を記述するHTMLとは異なり、xmlではマークアップタグはファイルに含まれるデータの意味を記述します。
「XML」パッケージを使用して、Rでxmlファイルを読み取ることができます。 このパッケージは、次のコマンドを使用してインストールできます。
入力データ
以下のデータをメモ帳などのテキストエディターにコピーして、XMlファイルを作成します。 .xml 拡張子を付けてファイルを保存し、* all files(。)*としてファイルタイプを選択します。
XMLファイルの読み取り
xmlファイルは、関数* xmlParse()*を使用してRによって読み取られます。 Rにリストとして保存されます。
上記のコードを実行すると、次の結果が生成されます-
XMLファイルに存在するノードの数を取得する
上記のコードを実行すると、次の結果が生成されます-
最初のノードの詳細
解析されたファイルの最初のレコードを見てみましょう。 これにより、最上位ノードに存在するさまざまな要素がわかります。
上記のコードを実行すると、次の結果が生成されます-
ノードのさまざまな要素を取得する
1 ITミシェル
#XMLファイルの読み取りに必要なパッケージをロードします。 library( "XML")library( "methods")
#入力xmlファイルをデータフレームに変換します。 xmldataframe ←xmlToDataFrame( "input.xml")print(xmldataframe)
ID名給与開始日DEPT 1 1 Rick 623.30 2012-01-01 IT 2 2 Dan 515.20 2013-09-23 Operations 3 3 Michelle 611.00 2014-11-15 IT 4 4 Ryan 729.00 2014-05-11 HR 5 NA Gary 843.25 2015 -03-27ファイナンス6 6ニーナ578.00 2013-05-21 IT 7 7サイモン632.80 2013-07-30オペレーション8 8グル722.50 2014-06-17ファイナンス
R-JSONファイル
JSONファイルは、データを人間が読める形式のテキストとして保存します。 JsonはJavaScript Object Notationの略です。 Rは、rjsonパッケージを使用してJSONファイルを読み取ることができます。
rjsonパッケージをインストールする
Rコンソールで、次のコマンドを発行してrjsonパッケージをインストールできます。
入力データ
以下のデータをメモ帳などのテキストエディターにコピーして、JSONファイルを作成します。 .json 拡張子を付けてファイルを保存し、* all files(。)*としてファイルタイプを選択します。
JSONファイルを読む
JSONファイルは、* JSON()*の関数を使用してRによって読み取られます。 Rにリストとして保存されます。
上記のコードを実行すると、次の結果が生成されます-
JSONをデータフレームに変換する
- as.data.frame()*関数を使用して、上記の抽出データをさらに分析するためにRデータフレームに変換できます。
上記のコードを実行すると、次の結果が生成されます-
R-Webデータ
多くのWebサイトは、ユーザーが使用するデータを提供しています。 たとえば、世界保健機関(WHO)は、CSV、txt、およびXMLファイルの形式で健康および医療情報に関するレポートを提供しています。 Rプログラムを使用すると、このようなWebサイトから特定のデータをプログラムで抽出できます。 Webからデータをスクラップするために使用されるRのパッケージには、「RCurl」、「XML」、および「stringr」があります。 URLに接続し、ファイルに必要なリンクを特定して、ローカル環境にダウンロードするために使用されます。
Rパッケージをインストールする
URLとファイルへのリンクを処理するには、次のパッケージが必要です。 R環境で使用できない場合は、次のコマンドを使用してインストールできます。
入力データ
URL 天気データにアクセスし、2015年のRを使用してCSVファイルをダウンロードします。
例
関数* getHTMLLinks()を使用して、ファイルのURLを収集します。 次に、関数 download.file()*を使用して、ファイルをローカルシステムに保存します。 同じコードを複数のファイルに何度も適用するため、複数回呼び出される関数を作成します。 ファイル名は、Rリストオブジェクトの形式でパラメーターとしてこの関数に渡されます。
ファイルのダウンロードを確認する
上記のコードを実行すると、現在のR作業ディレクトリで次のファイルを見つけることができます。
R-データベース
データは、リレーショナルデータベースシステムが正規化された形式で保存されます。 したがって、統計計算を実行するには、非常に高度で複雑なSqlクエリが必要になります。 しかし、RはMySql、Oracle、Sqlサーバーなどの多くのリレーショナルデータベースに簡単に接続できます。 それらからレコードをデータフレームとして取得します。 R環境でデータが使用可能になると、通常のRデータセットになり、すべての強力なパッケージと機能を使用して操作または分析できます。
このチュートリアルでは、Rに接続するための参照データベースとしてMySqlを使用します。
RMySQLパッケージ
Rには「RMySQL」という名前の組み込みパッケージがあり、MySqlデータベースとのネイティブ接続を提供します。 次のコマンドを使用して、このパッケージをR環境にインストールできます。
RをMySqlに接続する
パッケージをインストールしたら、Rに接続オブジェクトを作成してデータベースに接続します。 ユーザー名、パスワード、データベース名、ホスト名を入力として受け取ります。
上記のコードを実行すると、次の結果が生成されます-
テーブルのクエリ
関数* dbSendQuery()*を使用して、MySqlのデータベーステーブルをクエリできます。 クエリはMySqlで実行され、R * fetch()*関数を使用して結果セットが返されます。 最後に、データフレームとしてRに保存されます。
上記のコードを実行すると、次の結果が生成されます-
フィルター句を使用したクエリ
有効な選択クエリを渡して結果を取得できます。
上記のコードを実行すると、次の結果が生成されます-
テーブルの行を更新する
更新クエリをdbSendQuery()関数に渡すことで、Mysqlテーブルの行を更新できます。
上記のコードを実行すると、MySql環境で更新されたテーブルを確認できます。
テーブルへのデータの挿入
上記のコードを実行すると、MySql環境のテーブルに挿入された行が表示されます。
MySqlでテーブルを作成する
関数* dbWriteTable()*を使用して、MySqlにテーブルを作成できます。 テーブルが既に存在する場合は上書きし、データフレームを入力として受け取ります。
上記のコードを実行すると、MySql環境で作成されたテーブルが表示されます。
MySqlでのテーブルの削除
テーブルからデータをクエリするのに使用したのと同じ方法で、ドロップテーブルステートメントをdbSendQuery()に渡して、MySqlデータベースのテーブルをドロップできます。
上記のコードを実行すると、MySql環境でテーブルが削除されていることがわかります。
R-円グラフ
Rプログラミング言語には、チャートやグラフを作成するための多数のライブラリがあります。 円グラフは、異なる色の円のスライスとしての値の表現です。 スライスにはラベルが付けられ、各スライスに対応する番号もチャートに表示されます。
Rでは、円グラフは、ベクトル入力として正の数を取る* pie()*関数を使用して作成されます。 追加のパラメーターは、ラベル、色、タイトルなどを制御するために使用されます。
構文
Rを使用して円グラフを作成するための基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- x は、円グラフで使用される数値を含むベクトルです。
- labels は、スライスの説明に使用されます。
- radius は、円グラフの円の半径を示します(-1から&plus; 1までの値)。
- main はチャートのタイトルを示します。
- col はカラーパレットを示します。
- clockwise は、スライスが時計回りに描かれるか反時計回りに描かれるかを示す論理値です。
例
入力ベクトルとラベルだけを使用して、非常に単純な円グラフが作成されます。 以下のスクリプトは、現在のR作業ディレクトリに円グラフを作成して保存します。
上記のコードを実行すると、次の結果が生成されます-
円グラフのタイトルと色
関数にさらにパラメーターを追加することで、チャートの機能を拡張できます。 パラメーター main を使用してチャートにタイトルを追加し、別のパラメーターは col で、チャートの描画中にレインボーカラーパレットを使用します。 パレットの長さは、チャートの値の数と同じにする必要があります。 したがって、length(x)を使用します。
例
以下のスクリプトは、現在のR作業ディレクトリに円グラフを作成して保存します。
上記のコードを実行すると、次の結果が生成されます-
スライスの割合とグラフの凡例
追加のグラフ変数を作成して、スライスの割合とグラフの凡例を追加できます。
上記のコードを実行すると、次の結果が生成されます-
立体円グラフ
追加のパッケージを使用して、3次元の円グラフを描画できます。 パッケージ plotrix には、これに使用される* pie3D()*という関数があります。
上記のコードを実行すると、次の結果が生成されます-
R-棒グラフ
棒グラフは、変数の値に比例する棒の長さを持つ長方形の棒でデータを表します。 Rは、関数* barplot()*を使用して棒グラフを作成します。 Rは、棒グラフに垂直バーと水平バーの両方を描画できます。 棒グラフでは、各棒に異なる色を付けることができます。
構文
Rで棒グラフを作成するための基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- H は、棒グラフで使用される数値を含むベクトルまたは行列です。
- xlab はx軸のラベルです。
- ylab はy軸のラベルです。
- main は棒グラフのタイトルです。
- names.arg は、各バーの下に表示される名前のベクトルです。
- col は、グラフのバーに色を付けるために使用されます。
例
入力ベクトルと各バーの名前だけを使用して、単純な棒グラフが作成されます。
以下のスクリプトは、現在のR作業ディレクトリに棒グラフを作成して保存します。
上記のコードを実行すると、次の結果が生成されます-
棒グラフのラベル、タイトル、色
棒グラフの機能は、パラメーターを追加することで拡張できます。 main パラメーターは、 title を追加するために使用されます。 col パラメーターは、バーに色を追加するために使用されます。 args.name は、各バーの意味を説明する入力ベクトルと同じ数の値を持つベクトルです。
例
以下のスクリプトは、現在のR作業ディレクトリに棒グラフを作成して保存します。
上記のコードを実行すると、次の結果が生成されます-
グループ棒グラフと積み上げ棒グラフ
入力値として行列を使用することで、棒のグループと各棒のスタックで棒グラフを作成できます。
3つ以上の変数は、グループ棒グラフと積み上げ棒グラフの作成に使用されるマトリックスとして表されます。
R-ボックスプロット
箱ひげ図は、データセット内のデータがどれだけ適切に分散されているかの尺度です。 データセットを3つの四分位数に分割します。 このグラフは、データセットの最小値、最大値、中央値、最初の四分位数、3番目の四分位数を表します。 また、データセットごとに箱ひげ図を描くことにより、データセット全体でデータの分布を比較するのにも役立ちます。
ボックスプロットは、* boxplot()*関数を使用してRで作成されます。
構文
Rで箱ひげ図を作成するための基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- x はベクトルまたは数式です。
- data はデータフレームです。
- notch は論理値です。 ノッチを描画するにはTRUEに設定します。
- varwidth は論理値です。 サンプルサイズに比例してボックスの幅を描画するには、trueに設定します。
- names は、各箱ひげ図の下に印刷されるグループラベルです。
- main は、グラフにタイトルを付けるために使用されます。
例
R環境で使用可能なデータセット「mtcars」を使用して、基本的な箱ひげ図を作成します。 mtcarsの「mpg」列と「cyl」列を見てみましょう。
上記のコードを実行すると、次の結果が生成されます-
Boxplotの作成
以下のスクリプトは、mpg(1ガロンあたりのマイル数)とcyl(シリンダーの数)の関係を表す箱ひげ図を作成します。
上記のコードを実行すると、次の結果が生成されます-
ノッチ付きボックスプロット
ノッチ付きの箱ひげ図を描画して、異なるデータグループの中央値が互いにどのように一致するかを調べることができます。
以下のスクリプトは、データグループごとにノッチ付きの箱ひげ図グラフを作成します。
上記のコードを実行すると、次の結果が生成されます-
R-ヒストグラム
ヒストグラムは、範囲にバケット化された変数の値の頻度を表します。 ヒストグラムはバーチャットに似ていますが、違いは値を連続した範囲にグループ化することです。 ヒストグラムの各バーは、その範囲に存在する値の数の高さを表します。
Rは、* hist()*関数を使用してヒストグラムを作成します。 この関数は、ベクトルを入力として受け取り、いくつかのパラメーターを使用してヒストグラムをプロットします。
構文
Rを使用してヒストグラムを作成するための基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- v は、ヒストグラムで使用される数値を含むベクトルです。
- main はチャートのタイトルを示します。
- col はバーの色を設定するために使用されます。
- border は各バーの境界線の色を設定するために使用されます。
- xlab は、x軸の説明に使用されます。
- xlim は、x軸の値の範囲を指定するために使用されます。
- ylim は、y軸の値の範囲を指定するために使用されます。
- breaks は、各バーの幅を示すために使用されます。
例
入力ベクトル、ラベル、列および境界線パラメーターを使用して、単純なヒストグラムが作成されます。
以下のスクリプトは、現在のR作業ディレクトリにヒストグラムを作成して保存します。
上記のコードを実行すると、次の結果が生成されます-
XおよびY値の範囲
X軸とY軸で許可される値の範囲を指定するには、xlimパラメーターとylimパラメーターを使用できます。
各バーの幅は、ブレークを使用して決定できます。
上記のコードを実行すると、次の結果が生成されます-
R-折れ線グラフ
折れ線グラフは、一連のポイントの間に線セグメントを描画することで、それらを接続するグラフです。 これらのポイントは、座標(通常はx座標)値の1つで順序付けられます。 通常、折れ線グラフは、データの傾向を識別するために使用されます。
Rの* plot()*関数は、折れ線グラフを作成するために使用されます。
構文
Rで折れ線グラフを作成するための基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- v は数値を含むベクトルです。
- type は、値 "p"を使用して点のみを描画し、 "l"を使用して線のみを描画し、 "o"を使用して点と線の両方を描画します。
- xlab はx軸のラベルです。
- ylab はy軸のラベルです。
- main はチャートのタイトルです。
- col は、ポイントとラインの両方に色を付けるために使用されます。
例
入力ベクトルと「O」としての型パラメーターを使用して、単純な折れ線グラフが作成されます。 以下のスクリプトは、現在のR作業ディレクトリに折れ線グラフを作成して保存します。
上記のコードを実行すると、次の結果が生成されます-
折れ線グラフのタイトル、色、ラベル
追加のパラメーターを使用して、折れ線グラフの機能を拡張できます。 ポイントとラインに色を追加し、チャートにタイトルを付け、軸にラベルを追加します。
例
上記のコードを実行すると、次の結果が生成されます-
折れ線グラフの複数の線
- lines()**関数を使用して、同じチャートに複数の線を描画できます。
最初の線がプロットされた後、lines()関数は追加のベクトルを入力として使用して、チャートに2番目の線を描画できます。
上記のコードを実行すると、次の結果が生成されます-
R-散布図
散布図には、デカルト平面にプロットされた多くの点が表示されます。 各ポイントは、2つの変数の値を表します。 1つの変数は水平軸で選択され、別の変数は垂直軸で選択されます。
単純な散布図は、* plot()*関数を使用して作成されます。
構文
Rで散布図を作成するための基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- x は、値が水平座標であるデータセットです。
- y は、値が垂直座標であるデータセットです。
- main はグラフのタイルです。
- xlab は水平軸のラベルです。
- ylab は垂直軸のラベルです。
- xlim は、プロットに使用されるxの値の制限です。
- ylim は、プロットに使用されるyの値の制限です。
- axes は、両方の軸をプロットに描画するかどうかを示します。
例
R環境で使用可能なデータセット "mtcars" を使用して、基本的な散布図を作成します。 mtcarsの「wt」列と「mpg」列を使用してみましょう。
上記のコードを実行すると、次の結果が生成されます-
散布図の作成
以下のスクリプトは、wt(weight)とmpg(miles per gallon)の関係の散布図グラフを作成します。
上記のコードを実行すると、次の結果が生成されます-
散布図行列
3つ以上の変数があり、1つの変数と残りの変数との相関を見つけたい場合、散布図行列を使用します。 * pairs()*関数を使用して、散布図の行列を作成します。
構文
Rで散布図行列を作成するための基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- *式*は、ペアで使用される一連の変数を表します。
- data は、変数が取得されるデータセットを表します。
例
各変数は、残りの各変数とペアになっています。 散布図が各ペアに対してプロットされます。
上記のコードを実行すると、次の出力が得られます。
R-平均、中央値、モード
Rの統計分析は、多くの組み込み関数を使用して実行されます。 これらの関数のほとんどは、Rベースパッケージの一部です。 これらの関数は、引数とともにRベクトルを入力として受け取り、結果を返します。
この章で説明する関数は、平均値、中央値、モードです。
Mean
値の合計を取り、データ系列の値の数で割ることによって計算されます。
関数* mean()*は、Rでこれを計算するために使用されます。
構文
Rの平均を計算するための基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- x は入力ベクトルです。
- trim は、ソートされたベクトルの両端からいくつかの観測値を削除するために使用されます。
- na.rm は、入力ベクトルから欠損値を削除するために使用されます。
例
上記のコードを実行すると、次の結果が生成されます-
トリムオプションの適用
トリムパラメーターを指定すると、ベクトルの値が並べ替えられ、必要な観測数が平均の計算から除外されます。
trim = 0.3の場合、各端から3つの値が計算から除外されて平均が求められます。
この場合、ソートされたベクトルは(-21、-5、2、3、4.2、7、8、12、18、54)であり、平均を計算するためにベクトルから削除された値は(-21、-5、2)です。左から(12,18,54)右から。
上記のコードを実行すると、次の結果が生成されます-
NAオプションの適用
欠損値がある場合、平均関数はNAを返します。
計算から欠損値を削除するには、na.rm = TRUEを使用します。 つまり、NA値を削除します。
上記のコードを実行すると、次の結果が生成されます-
中央値
データ系列の中央の値は中央値と呼ばれます。 * median()*関数は、この値を計算するためにRで使用されます。
構文
Rの中央値を計算するための基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- x は入力ベクトルです。
- na.rm は、入力ベクトルから欠損値を削除するために使用されます。
例
上記のコードを実行すると、次の結果が生成されます-
Mode
モードは、一連のデータ内で発生回数が最も多い値です。 Unikeの平均値と中央値、モードには数値データと文字データの両方が含まれます。
Rには、モードを計算するための標準の組み込み関数はありません。 そこで、Rのデータセットのモードを計算するユーザー関数を作成します。 この関数は、ベクトルを入力として受け取り、モード値を出力として提供します。
例
上記のコードを実行すると、次の結果が生成されます-
R-線形回帰
回帰分析は、2つの変数間の関係モデルを確立するために非常に広く使用されている統計ツールです。 これらの変数の1つは予測変数と呼ばれ、その変数の値は実験によって収集されます。 もう1つの変数は応答変数と呼ばれ、その変数の値は予測変数から派生します。
線形回帰では、これらの2つの変数は方程式を介して関連付けられます。これらの変数の指数(パワー)は1です。 数学的に線形関係は、グラフとしてプロットされたときに直線を表します。 変数の指数が1に等しくない非線形の関係は、曲線を作成します。
線形回帰の一般的な数学方程式は-
以下は、使用されるパラメータの説明です-
- y は応答変数です。
- x は予測変数です。
- a および b は、係数と呼ばれる定数です。
回帰を確立する手順
回帰の簡単な例は、身長がわかっているときに人の体重を予測することです。 これを行うには、身長と体重の関係が必要です。
関係を作成する手順は次のとおりです-
- 身長と対応する体重の観測値のサンプルを収集する実験を実行します。
- Rの* lm()*関数を使用して関係モデルを作成します。
- 作成されたモデルから係数を見つけ、これらを使用して数式を作成します 関係モデルの概要を取得して、予測の平均誤差を把握します。 残差*とも呼ばれます。
- 新しい人の体重を予測するには、Rで* predict()*関数を使用します。
入力データ
以下は、観測を表すサンプルデータです-
lm()関数
この関数は、予測変数と応答変数の間の関係モデルを作成します。
構文
線形回帰の* lm()*関数の基本的な構文は-
以下は、使用されるパラメータの説明です-
- *式*は、xとyの関係を表す記号です。
- data は、式が適用されるベクトルです。
関係モデルを作成して係数を取得する
上記のコードを実行すると、次の結果が生成されます-
関係の概要を取得する
上記のコードを実行すると、次の結果が生成されます-
predict()関数
構文
線形回帰のpredict()の基本的な構文は-
以下は、使用されるパラメータの説明です-
- object は、lm()関数を使用して既に作成されている式です。
- newdata は、予測変数の新しい値を含むベクトルです。
新しい人の体重を予測する
上記のコードを実行すると、次の結果が生成されます-
回帰をグラフィカルに視覚化する
上記のコードを実行すると、次の結果が生成されます-
R-重回帰
重回帰は、3つ以上の変数間の関係への線形回帰の拡張です。 単純な線形関係では1つの予測変数と1つの応答変数がありますが、重回帰では複数の予測変数と1つの応答変数があります。
重回帰の一般的な数学方程式は-
以下は、使用されるパラメータの説明です-
- y は応答変数です。
- a、b1、b2 … bn は係数です。
- x1、x2、… xn は予測変数です。
Rの* lm()*関数を使用して回帰モデルを作成します。 モデルは、入力データを使用して係数の値を決定します。 次に、これらの係数を使用して、予測変数の特定のセットの応答変数の値を予測できます。
lm()関数
この関数は、予測変数と応答変数の間の関係モデルを作成します。
構文
重回帰の* lm()*関数の基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- *式*は、応答変数と予測変数の間の関係を表す記号です。
- data は、式が適用されるベクトルです。
例
入力データ
R環境で使用可能なデータセット「mtcars」を検討してください。 ガロンあたりの走行距離(mpg)、シリンダー変位( "disp")、馬力( "hp")、車の重量( "wt")およびその他のパラメーターに関して、さまざまな車のモデルを比較します。
モデルの目標は、予測変数として「disp」、「hp」および「wt」と応答変数として「mpg」の関係を確立することです。 この目的のために、mtcarsデータセットからこれらの変数のサブセットを作成します。
上記のコードを実行すると、次の結果が生成されます-
関係モデルを作成して係数を取得する
上記のコードを実行すると、次の結果が生成されます-
回帰モデルの方程式を作成
上記の切片と係数の値に基づいて、数学的な方程式を作成します。
新しい値を予測する方程式を適用
上記で作成した回帰式を使用して、排気量、馬力、体重の値の新しいセットが提供されたときの燃費を予測できます。
disp = 221、hp = 102、wt = 2.91の車の場合、予測走行距離は-
R-ロジスティック回帰
ロジスティック回帰は、応答変数(従属変数)がTrue/Falseまたは0/1などのカテゴリ値を持つ回帰モデルです。 実際には、予測変数に関連付けられた数式に基づいて、応答変数の値としてバイナリ応答の確率を測定します。
ロジスティック回帰の一般的な数学方程式は-
以下は、使用されるパラメータの説明です-
- y は応答変数です。
- x は予測変数です。
- a および b は、数値定数である係数です。
回帰モデルの作成に使用される関数は* glm()*関数です。
構文
ロジスティック回帰の* glm()*関数の基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- *式*は、変数間の関係を表す記号です。
- data は、これらの変数の値を提供するデータセットです。
- family は、モデルの詳細を指定するRオブジェクトです。 ロジスティック回帰の値は二項です。
例
組み込みのデータセット「mtcars」は、さまざまなエンジン仕様を持つ自動車のさまざまなモデルを記述しています。 「mtcars」データセットでは、伝送モード(自動または手動)は、バイナリ値(0または1)である列amによって記述されます。 「am」列と他の3つの列(hp、wt、cyl)の間でロジスティック回帰モデルを作成できます。
上記のコードを実行すると、次の結果が生成されます-
回帰モデルを作成する
- glm()*関数を使用して回帰モデルを作成し、分析のためにその要約を取得します。
上記のコードを実行すると、次の結果が生成されます-
結論
最後の列のp値が変数「cyl」および「hp」の0.05を超えるため、要約では、変数「am」の値に寄与することは重要ではないと考えます。 この回帰モデルでは、重み(wt)のみが「am」値に影響します。
R-正規分布
独立したソースからのデータのランダムな収集では、通常、データの分布は正常であることが観察されています。 つまり、水平軸の変数の値と垂直軸の値のカウントを使用してグラフをプロットすると、釣鐘型の曲線が得られます。 曲線の中心は、データセットの平均を表します。 グラフでは、値の50%が平均の左側にあり、残りの50%がグラフの右側にあります。 これは、統計では正規分布と呼ばれます。
Rには正規分布を生成する組み込み関数が4つあります。 以下に説明します。
以下は、上記の機能で使用されるパラメータの説明です-
- x は数値のベクトルです。
- p は確率のベクトルです。
- n は観測数(サンプルサイズ)です。
- mean は、サンプルデータの平均値です。 デフォルト値はゼロです。
- sd は標準偏差です。 デフォルト値は1です。
dnorm()
この関数は、与えられた平均と標準偏差の各点での確率分布の高さを与えます。
上記のコードを実行すると、次の結果が生成されます-
pnorm()
この関数は、正規分布された乱数が特定の数値よりも小さくなる確率を与えます。 「累積分布関数」とも呼ばれます。
上記のコードを実行すると、次の結果が生成されます-
qnorm()
この関数は、確率値を受け取り、累積値が確率値と一致する数値を提供します。
上記のコードを実行すると、次の結果が生成されます-
rnorm()
この関数は、分布が正規の乱数を生成するために使用されます。 サンプルサイズを入力として受け取り、その数の乱数を生成します。 ヒストグラムを作成して、生成された数値の分布を示します。
上記のコードを実行すると、次の結果が生成されます-
R-二項分布
二項分布モデルは、一連の実験で可能な結果が2つしかないイベントの成功確率を見つけることを扱います。 たとえば、コインを投げると、常に頭または尾になります。 コインを10回繰り返し投げることで正確に3つの頭を見つける確率は、二項分布の間に推定されます。
Rには、2項分布を生成する4つの組み込み関数があります。 以下に説明します。
以下は、使用されるパラメータの説明です-
- x は数値のベクトルです。
- p は確率のベクトルです。
- n は観測数です。
- *サイズ*は試行回数です。
- prob は、各試行の成功確率です。
dbinom()
この関数は、各点の確率密度分布を提供します。
上記のコードを実行すると、次の結果が生成されます-
pbinom()
この関数は、イベントの累積確率を提供します。 これは、確率を表す単一の値です。
上記のコードを実行すると、次の結果が生成されます-
qbinom()
この関数は、確率値を受け取り、累積値が確率値と一致する数値を提供します。
上記のコードを実行すると、次の結果が生成されます-
rbinom()
この関数は、指定されたサンプルから指定された確率の必要な数の乱数値を生成します。
上記のコードを実行すると、次の結果が生成されます-
R-ポアソン回帰
ポアソン回帰には、応答変数が小数ではなくカウントの形式である回帰モデルが含まれます。 たとえば、サッカーの試合シリーズでの出生数または勝利数のカウント。 また、応答変数の値はポアソン分布に従います。
ポアソン回帰の一般的な数学方程式は-
以下は、使用されるパラメータの説明です-
- y は応答変数です。
- a および b は数値係数です。
- x は予測変数です。
ポアソン回帰モデルの作成に使用される関数は* glm()*関数です。
構文
ポアソン回帰の* glm()*関数の基本的な構文は次のとおりです-
以下は、上記の機能で使用されるパラメータの説明です-
- *式*は、変数間の関係を表す記号です。
- data は、これらの変数の値を提供するデータセットです。
- family は、モデルの詳細を指定するRオブジェクトです。 ロジスティック回帰の値は「ポアソン」です。
例
ウールのタイプ(AまたはB)と張力(低、中、または高)が織機ごとの経糸破断の数に与える影響を記述する組み込みデータセット「経糸破断」があります。 「ブレーク」を、ブレークの数のカウントである応答変数として考えてみましょう。 ウールの「タイプ」と「テンション」は、予測変数として使用されます。
- 入力データ *
上記のコードを実行すると、次の結果が生成されます-
回帰モデルを作成する
上記のコードを実行すると、次の結果が生成されます-
要約では、応答変数に対する予測変数の影響を考慮するために、最後の列のp値が0.05未満になるようにします。 ご覧のように、張力タイプMおよびHのウールタイプBは、破断回数に影響を与えます。
R-共分散分析
回帰分析を使用して、予測変数の変動が応答変数に与える影響を記述するモデルを作成します。 Yes/NoやMale/Femaleなどの値を持つカテゴリ変数がある場合、時々 単純回帰分析では、カテゴリー変数の各値に対して複数の結果が得られます。 このようなシナリオでは、予測変数と一緒に使用し、カテゴリ変数の各レベルの回帰直線を比較することにより、カテゴリ変数の効果を調べることができます。 このような分析は、 ANCOVA とも呼ばれる Analysis of Covariance と呼ばれます。
例
Rに組み込まれたデータセットmtcarsについて考えます。 その中で、フィールド「am」は伝送のタイプ(自動または手動)を表していることがわかります。 値0および1のカテゴリ変数です。 馬力( "hp")の値に加えて、車のガロンあたりのマイル値(mpg)もそれに依存します。
「mpg」と「hp」の間の回帰に対する「am」の値の影響を研究します。 これは、* aov()関数の後に anova()*関数を使用して、重回帰を比較することにより行われます。
入力データ
データセットmtcarsからフィールド「mpg」、「hp」、および「am」を含むデータフレームを作成します。 ここでは、応答変数として「mpg」、予測変数として「hp」、カテゴリ変数として「am」を使用します。
上記のコードを実行すると、次の結果が生成されます-
ANCOVA分析
「am」と「hp」の間の相互作用を考慮して、予測変数として「hp」、応答変数として「mpg」を使用する回帰モデルを作成します。
カテゴリ変数と予測変数の間の相互作用があるモデル
上記のコードを実行すると、次の結果が生成されます-
この結果は、両方の場合のp値が0.05未満であるため、馬力と伝達タイプの両方がガロンあたりのマイル数に大きな影響を与えることを示しています。 ただし、p値が0.05を超えるため、これら2つの変数間の相互作用は重要ではありません。
カテゴリ変数と予測変数間の相互作用のないモデル
上記のコードを実行すると、次の結果が生成されます-
この結果は、両方の場合のp値が0.05未満であるため、馬力と伝達タイプの両方がガロンあたりのマイル数に大きな影響を与えることを示しています。
2つのモデルの比較
ここで、2つのモデルを比較して、変数の相互作用が本当に重要でないかどうかを結論付けることができます。 このために、* anova()*関数を使用します。
上記のコードを実行すると、次の結果が生成されます-
p値が0.05より大きいため、馬力と伝達タイプの相互作用は重要ではないと結論付けます。 したがって、ガロンあたりの走行距離は、自動および手動変速モードの両方で、同様に自動車の馬力に依存します。
R-時系列分析
時系列は、各データポイントがタイムスタンプに関連付けられている一連のデータポイントです。 簡単な例は、特定の日のさまざまな時点での株式市場の株価です。 別の例は、1年の異なる月の地域の降雨量です。 R言語では、多くの関数を使用して、時系列データを作成、操作、およびプロットします。 時系列のデータは、*時系列オブジェクト*と呼ばれるRオブジェクトに保存されます。 また、ベクトルまたはデータフレームのようなRデータオブジェクトでもあります。
時系列オブジェクトは、* ts()*関数を使用して作成されます。
構文
時系列分析の* ts()*関数の基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- data は、時系列で使用される値を含むベクトルまたは行列です。
- start は、時系列の最初の観測の開始時間を指定します。
- end は、時系列の最後の観測の終了時刻を指定します。
- frequency は、単位時間あたりの観測数を指定します。
パラメーター「data」を除き、他のすべてのパラメーターはオプションです。
例
2012年1月から始まる場所の年間降雨量の詳細を考慮してください。 12か月間のR時系列オブジェクトを作成し、プロットします。
上記のコードを実行すると、次の結果とグラフが生成されます-
時系列チャート-
異なる時間間隔
ts()関数の frequency パラメーターの値は、データポイントが測定される時間間隔を決定します。 12の値は、時系列が12か月であることを示します。 他の値とその意味は以下のとおりです-
- frequency = 12 は、1年の各月のデータポイントを固定します。
- frequency = 4 は、1年の各四半期のデータポイントを固定します。
- frequency = 6 は、1時間の10分ごとにデータポイントを固定します。
- frequency = 24 6 *は、1日の10分ごとにデータポイントを固定します。
複数の時系列
両方の系列を行列に結合することにより、1つのチャートに複数の時系列をプロットできます。
上記のコードを実行すると、次の結果とグラフが生成されます-
複数時系列チャート-
R-非線形最小二乗
回帰分析のために実世界のデータをモデル化するとき、モデルの方程式が線形グラフを与える線形方程式であるということはめったにないことがわかります。 ほとんどの場合、実世界のデータのモデルの方程式には、3の指数やsin関数などの高度な数学関数が含まれます。 このようなシナリオでは、モデルのプロットは直線ではなく曲線を示します。 線形回帰と非線形回帰の両方の目標は、モデルのパラメーターの値を調整して、データに最も近い直線または曲線を見つけることです。 これらの値を見つけると、応答変数を高い精度で推定できます。
最小二乗回帰では、回帰曲線からの異なる点の垂直距離の平方の合計が最小化される回帰モデルを確立します。 通常、定義済みのモデルから始めて、係数の値を想定します。 次に、Rの* nls()*関数を適用して、信頼区間とともにより正確な値を取得します。
構文
Rで非線形最小二乗検定を作成するための基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- *式*は、変数とパラメータを含む非線形モデル式です。
- data は、式の変数を評価するために使用されるデータフレームです。
- start は、名前付きリストまたは開始推定の名前付き数値ベクトルです。
例
係数の初期値を仮定した非線形モデルを検討します。 次に、これらの値がモデルにどれだけうまく反映されているかを判断できるように、これらの想定値の信頼区間を確認します。
だから、この目的のために以下の方程式を考えてみましょう-
初期係数を1と3とし、これらの値をnls()関数に適合させてみましょう。
上記のコードを実行すると、次の結果が生成されます-
b1の値は1に近く、b2の値は3ではなく2に近いと結論付けることができます。
R-決定木
デシジョンツリーは、選択肢とその結果をツリー形式で表すグラフです。 グラフのノードはイベントまたは選択を表し、グラフのエッジは決定ルールまたは条件を表します。 Rを使用した機械学習およびデータマイニングアプリケーションで主に使用されます。
意思決定要素の使用例は、電子メールをスパムまたはスパムではないと予測する、腫瘍の癌を予測する、またはこれらのそれぞれの要因に基づいて融資を良いまたは悪い信用リスクとして予測するなどです。 一般に、モデルはトレーニングデータとも呼ばれる観測データで作成されます。 次に、検証データのセットを使用して、モデルを検証および改善します。 Rには、決定木の作成と視覚化に使用されるパッケージがあります。 新しい予測変数のセットでは、このモデルを使用して、データのカテゴリ(yes/no、spam/not spam)の決定に到達します。
Rパッケージ "party" は、決定木を作成するために使用されます。
Rパッケージをインストールする
Rコンソールで以下のコマンドを使用して、パッケージをインストールします。 また、依存パッケージがある場合はインストールする必要があります。
パッケージ「party」には、決定ツリーの作成と分析に使用される関数* ctree()*が含まれています。
構文
Rで決定木を作成するための基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- *式*は、予測変数と応答変数を記述する式です。
- data は、使用されるデータセットの名前です。
入力データ
これがサンプルデータです。
上記のコードを実行すると、次の結果とグラフが生成されます-
例
- ctree()*関数を使用して決定木を作成し、グラフを表示します。
上記のコードを実行すると、次の結果が生成されます-
結論
上記の決定ツリーから、readingSkillsスコアが38.3未満で、年齢が6歳を超える人はネイティブスピーカーではないと結論付けることができます。
R-ランダムフォレスト
ランダムフォレストアプローチでは、多数の決定木が作成されます。 すべての観測は、すべての決定ツリーに送られます。 各観測の最も一般的な結果が最終出力として使用されます。 新しい観測がすべてのツリーに入力され、各分類モデルに対して多数決が行われます。
ツリーの構築中に使用されなかったケースのエラー推定が行われます。 これは* OOB(Out-of-bag)*エラー推定値と呼ばれ、パーセンテージで示されます。
Rパッケージ "randomForest" は、ランダムフォレストを作成するために使用されます。
Rパッケージをインストールする
Rコンソールで以下のコマンドを使用して、パッケージをインストールします。 また、依存パッケージがある場合はインストールする必要があります。
パッケージ「randomForest」には、ランダムフォレストの作成と分析に使用される関数* randomForest()*が含まれています。
構文
Rでランダムフォレストを作成するための基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- *式*は、予測変数と応答変数を記述する式です。
- data は、使用されるデータセットの名前です。
入力データ
readingSkillsという名前のR組み込みデータセットを使用して、意思決定ツリーを作成します。 変数 "age"、 "shoesize"、 "score"がわかっている場合、およびその人がネイティブスピーカーかどうかを知っている場合、その人のreadingSkillsのスコアを示します。
これがサンプルデータです。
上記のコードを実行すると、次の結果とグラフが生成されます-
例
- randomForest()*関数を使用して決定木を作成し、グラフを表示します。
上記のコードを実行すると、次の結果が生成されます-
結論
上記のランダムフォレストから、誰かがネイティブスピーカーかどうかを決定する重要な要因はシューサイズとスコアであると結論付けることができます。 また、モデルには1%の誤差しかないため、99%の精度で予測できます。
R-生存分析
生存分析では、特定のイベントが発生する時間を予測します。 また、故障時間分析または死亡までの時間の分析としても知られています。 たとえば、がん患者の生存日数を予測したり、機械システムが故障する時間を予測したりします。
パッケージをインストール
構文
Rで生存分析を作成するための基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- time は、イベントが発生するまでのフォローアップ時間です。
- event は、予想されるイベントの発生状況を示します。
- *式*は、予測変数間の関係です。
例
上記でインストールされたサバイバルパッケージに存在する「pbc」という名前のデータセットを検討します。 肝臓の原発性胆汁性肝硬変(PBC)に罹患した人々に関する生存データポイントについて説明します。 データセットに存在する多くの列の中で、主にフィールド「時間」と「ステータス」に関心があります。 時間は、患者の登録から、肝移植を受ける患者または患者の死までの間のイベントの前の日数を表します。
上記のコードを実行すると、次の結果とグラフが生成されます-
上記のデータから、分析の時間とステータスを検討しています。
Surv()およびsurvfit()関数の適用
次に、上記のデータセットに* Surv()*関数を適用し、傾向を示すプロットを作成します。
上記のコードを実行すると、次の結果とグラフが生成されます-
上記のグラフの傾向は、特定の日数の終わりに生存する確率を予測するのに役立ちます。
R-カイ二乗検定
- カイ2乗検定*は、2つのカテゴリ変数に有意な相関があるかどうかを判断する統計的手法です。 これらの変数は両方とも同じ母集団からのものでなければならず、-はい/いいえ、男性/女性、赤/緑などのようにカテゴリー的でなければなりません。
たとえば、人々のアイスクリーム購入パターンに関する観察結果を含むデータセットを構築し、人の性別と好みのアイスクリームのフレーバーとの相関をとることができます。 相関関係が見つかった場合、訪問する人々の性別を知ることにより、適切なフレーバーの在庫を計画できます。
構文
カイ二乗検定の実行に使用される関数は* chisq.test()*です。
Rでカイ二乗検定を作成するための基本的な構文は次のとおりです-
以下は、使用されるパラメータの説明です-
- data は、観測の変数のカウント値を含むテーブル形式のデータです。
例
1993年の自動車のさまざまなモデルの販売を表す「MASS」ライブラリのCars93データを取得します。
上記のコードを実行すると、次の結果が生成されます-
上記の結果は、データセットにカテゴリ変数と見なすことができる多くの因子変数があることを示しています。 このモデルでは、変数「AirBags」と「Type」を考慮します。 ここでは、販売されている車の種類と、所有しているエアバッグの種類との間に有意な相関関係を見つけることを目指しています。 相関関係が観察される場合、どのタイプの車がどのタイプのエアバッグでよりよく売れるかを推定できます。
上記のコードを実行すると、次の結果が生成されます-
結論
結果は、0.05未満のp値を示し、文字列相関を示します。 R-interview-questions