logo

R の apply()、lapply()、sapply()、tapply()

この記事では、apply()、lapply()、sapply()、tapply() 関数について学びます。 R プログラミング言語。

apply() コレクションは R の必須パッケージの一部です。この関数ファミリーは、特定の関数を特定のデータ フレーム、リスト、またはベクトルに適用し、使用する関数に応じて結果をリストまたはベクトルとして返すのに役立ちます。 apply() 関数ファミリーには次の 4 種類の関数があります。



apply() 関数

apply() 関数を使用すると、行列またはデータ フレームの行または列に関数を適用できます。この関数は、行列またはデータ フレームを関数とともに引数として受け取り、それを行または列で適用する必要があるかどうかを確認し、ベクトル、配列、または取得された値のリストの形式で結果を返します。

Linuxでスクリプトを実行する方法

構文: apply( x, マージン, 関数 )

パラメーター:



    x: 行列を含む入力配列を決定します。 margin: マージンが 1 の場合、関数は行全体に適用され、マージンが 2 の場合、関数は列全体に適用されます。 function: 入力データに適用される関数を決定します。

例:

ここでは、行と列に沿った apply() 関数の使用法を示す基本的な例を示します。

R






# create sample data> sample_matrix <->matrix>(C<-(1:10),nrow=3, ncol=10)> > print>(>'sample matrix:'>)> sample_matrix> > # Use apply() function across row to find sum> print>(>'sum across rows:'>)> apply>( sample_matrix, 1, sum)> > # use apply() function across column to find mean> print>(>'mean across columns:'>)> apply>( sample_matrix, 2, mean)>

>

>

出力:

常にVerilog

ラップリ()関数

lagply() 関数は、リスト オブジェクトに関数を適用するのに役立ち、同じ長さのリスト オブジェクトを返します。 R 言語の lagply() 関数は、リスト、ベクトル、またはデータ フレームを入力として受け取り、リスト オブジェクトの形式で出力を与えます。 lagply() 関数はリストのすべての要素に特定の操作を適用するため、MARGIN は必要ありません。

構文: ラップリー(x, 楽しい)

パラメーター:

    x: 入力ベクトルまたはオブジェクトを決定します。 fun: 入力データに適用される関数を決定します。

例:

ここでは、ベクトルに対するlapply()関数の使用を示す基本的な例を示します。

R




# create sample data> names <->c>(>'priyank'>,>'abhiraj'>,>'pawananjani'>,> >'sudhanshu'>,>'devraj'>)> print>(>'original data:'>)> names> > # apply lapply() function> print>(>'data after lapply():'>)> lapply>(names, toupper)>

>

>

出力:

sapply() 関数

sapply() 関数は、リスト、ベクトル、またはデータ フレームに関数を適用するのに役立ち、同じ長さの配列または行列オブジェクトを返します。 R 言語の sapply() 関数は、リスト、ベクトル、またはデータ フレームを入力として受け取り、配列または行列オブジェクトの形式で出力を与えます。 sapply() 関数はオブジェクトのすべての要素に特定の操作を適用するため、MARGIN は必要ありません。これは、返されるオブジェクトの型が異なるだけで、lapply() と同じです。

構文: sapply( x, 楽しい )

パラメーター:

    x: 入力ベクトルまたはオブジェクトを決定します。 fun: 入力データに適用される関数を決定します。

例:

ジャワスイング

ここでは、ベクトルに対する sapply() 関数の使用を示す基本的な例を示します。

R




sedコマンド

# create sample data> sample_data<->data.frame>( x=>c>(1,2,3,4,5,6),> >y=>c>(3,2,4,2,34,5))> print>(>'original data:'>)> sample_data> > # apply sapply() function> print>(>'data after sapply():'>)> sapply>(sample_data, max)>

>

>

出力:

タップリ()関数

Tapply() は、ベクトル内の各因子変数に対する統計的尺度 (平均、中央値、最小、最大など) または独自に作成した関数演算を計算するのに役立ちます。これは、ベクトルのサブセットを作成し、各サブセットにいくつかの関数を適用するのに役立ちます。たとえば、組織において、従業員の給与データがあり、男性と女性の平均給与を知りたい場合、因子変数の性別として男性と女性を指定してtapply()関数を使用できます。

構文: Tapply( x, インデックス, 楽しい )

パラメーター:

    x: 入力ベクトルまたはオブジェクトを決定します。インデックス: データを区別するのに役立つ因子ベクトルを決定します。 fun: 入力データに適用される関数を決定します。

例:

ここでは、tidyverse パッケージ ライブラリによって提供されるダイヤモンド データセットでの Tapply() 関数の使用を示す基本的な例を示します。

R


サルマン・カーン・カーンの年齢



# load library tidyverse> library>(tidyverse)> > # print head of diamonds dataset> print>(>' Head of data:'>)> head>(diamonds)> > # apply tapply function to get average price by cut> print>(>'Average price for each cut of diamond:'>)> tapply>(diamonds$price, diamonds$cut, mean)>

>

>

出力: