RでDataFrameをソートする

Rdedataframewosotosuru



R での DataFrame の並べ替えは、データの分析と操作において重要な操作です。重要なことは、R は、複数の列に基づいてデータを並べ替えたり、昇順または降順で並べ替えたりする際に、高い柔軟性を提供します。 R では、さまざまなメソッドと関数を使用して DataFrame を並べ替えることができます。この記事では、指定された順序で DataFrame を並べ替えるのに役立つさまざまな関数について説明します。

例 1: R の Order() メソッドを使用した DataFrame の並べ替え

R の order() 関数は、1 つまたは複数の列で DataFrame を並べ替えるのに使用されます。 order 関数は、並べ替えられた行のインデックスを取得して、DataFrame の行を並べ替えます。

従業員 = データ。 フレーム ( 名前 = c ( 「アンディ」 'マーク' 「ボニー」 「キャロライン」 「ジョン」 )

= c ( 21 23 29 25 32 )

給料 = c ( 2000年 1000 1500 3000 2500 ) )

( \n \n 名前で昇順に並べ替えられたデータフレーム \n )

ソート済み_asc = 従業員 [ ( 従業員 注文 ( 名前 ) ) ]

印刷する ( ソート済み_asc )

ここでは、異なる値を含む 3 つの列を持つ「emp」データフレームを定義します。 cat() 関数は、「names」列による「emp」データフレームが昇順でソートされることを示すステートメントを出力するためにデプロイされています。このために、R の order() 関数を使用します。この関数は、昇順に並べ替えられたベクトル内の値のインデックス位置を返します。この場合、with() 関数は、「names」列をソートするように指定します。ソートされた DataFrame は「sorted_asc」変数に保存され、ソートされた結果を印刷するために print() 関数の引数として渡されます。







そこで、DataFrameを「names」列で昇順にソートした結果を以下に表示します。降順でソート操作を実行するには、前の order() 関数で列名に負符号を指定するだけです。





例 2: R の Order() メソッド パラメーターを使用した DataFrame の並べ替え

さらに、order() 関数は、DataFrame をソートするために降順の引数を受け取ります。次の例では、引数を指定して order() 関数を指定し、昇順または降順で並べ替えます。





DF = データ。 フレーム (

ID = c ( 1 3 4 5 2 )

コース = c ( 「パイソン」 「ジャワ」 「C++」 「モンゴDB」 「R」 ) )

印刷する ( 「IDの降順にソート」 )

印刷する ( DF [ 注文 ( df$id 減少する = 真実 ) ] )

ここでは、最初に、data.frame() 関数が 3 つの異なる列で定義されている「df」変数を宣言します。次に、print() 関数を使用して、DataFrame が「id」列に基づいて降順でソートされることを示すメッセージを出力します。その後、print() 関数を再度デプロイして並べ替え操作を実行し、その結果を出力します。 print() 関数内で、「order」関数を呼び出して、「course」列に基づいて「df」データフレームを並べ替えます。 「減少」引数を TRUE に設定すると、降順でソートされます。

次の図では、DataFrame の「id」列が降順に配置されています。



ただし、ソート結果を昇順で取得するには、次のように order() 関数の降順引数を FALSE に設定する必要があります。

印刷する ( 「IDの昇順に並べ替える」 )

印刷する ( DF [ 注文 ( df$id 減少する = 間違い ) ] )

ここでは、「id」列による DataFrame のソート操作の出力を昇順で取得します。

例 3: R の Arrange() メソッドを使用した DataFrame の並べ替え

さらに、arrange() メソッドを使用して DataFrame を列ごとに並べ替えることもできます。昇順または降順で並べ替えることもできます。次の R コードでは、arrange() 関数が使用されています。

図書館 ( 「dplyr」 )

学生 = データ。 フレーム (

ID = c ( 3 5 2 4 1 )

マーク = c ( 70 90 75 88 92 ) )

印刷する ( 「IDによるソート順を増やす」 )

印刷する ( 整える ( 学生 ID ) )

ここでは、R の「dplyr」パッケージをロードして、並べ替えのための array() メソッドにアクセスします。次に、2 つの列を含む data.frame() 関数があり、DataFrame を「student」変数に設定します。次に、print() 関数の「dplyr」パッケージから array() 関数をデプロイして、指定された DataFrame を並べ替えます。 array() 関数は、最初の引数として「student」データフレームを受け取り、その後に並べ替えの基準となる列の「Id」を受け取ります。最後に print() 関数は、ソートされた DataFrame をコンソールに出力します。

次の出力では、「Id」列がシーケンス内のどこでソートされているかを確認できます。

例 4: R での日付による DataFrame の並べ替え

R の DataFrame は日付値によって並べ替えることもできます。このためには、日付をフォーマットするために as.date() 関数でsorted関数を指定する必要があります。

開催日 = データ。 フレーム ( イベント = c ( 「2023 年 3 月 4 日」 「2023 年 2 月 2 日」

「2023 年 10 月 1 日」 「2023/3/29」 )

料金 = c ( 3100 2200 1000 2900 ) )

開催日 [ 注文 ( として 日にち ( イベント日$イベント フォーマット = 「%d/%m/%Y」 ) ) ]

ここには、「月/日/年」形式の日付文字列を含む「event」列を含む「event_date」データフレームがあります。これらの日付文字列を昇順に並べ替える必要があります。 DataFrame を「event」列で昇順に並べ替える order() 関数を使用します。これを実現するには、「as.Date」関数を使用して「event」列の日付文字列を実際の日付に変換し、「format」パラメータを使用して日付文字列の形式を指定します。

したがって、「イベント」日付列によって昇順に並べ替えられたデータを表します。

例 5: R の Setorder() メソッドを使用した DataFrame の並べ替え

同様に、setorder() も DataFrame を並べ替える別のメソッドです。これは、arrange() メソッドと同じように引数を取得して DataFrame をソートします。 setorder() メソッドの R コードは次のようになります。

図書館 ( 'データ表' )

d1 = データ。 フレーム ( 注文ID = c ( 1 4 2 5 3 )

注文品目 = c ( 'りんご' 'オレンジ' 'キウイ' 'マンゴー' 'バナナ' ) )

印刷する ( 順序を設定する ( d1 注文品目 ) )

ここでは、 setorder() がこのパッケージの関数であるため、最初に data.table ライブラリを設定します。次に、data.frame() 関数を使用して DataFrame を作成します。 DataFrame は、並べ替えに使用する 2 つの列のみで指定されています。この後、print() 関数内に setorder() 関数を設定します。 setorder() 関数は、「d1」データフレームを最初のパラメータとして、「orderId」列を 2 番目のパラメータとして受け取り、データフレームの並べ替えに使用します。 「setorder」関数は、「orderId」列の値に基づいてデータ テーブルの行を昇順に並べ替えます。

ソートされた DataFrame は、R の次のコンソールの出力です。

例 6: R の Row.Names() メソッドを使用した DataFrame の並べ替え

row.names() メソッドは、R で DataFrame を並べ替える方法でもあります。 row.names() は、指定された行によって DataFrame を並べ替えます。

DF < - データ。 フレーム ( チーム = c ( 'バツ' 'バツ' 'と' 'と' 'と' )

スコア = c ( 91 80 86 83 95 ) )

行。 名前 ( DF ) < -c ( 「あ」 「D」 「C」 'と' 「B」 )

DF [ 注文 ( 行。 名前 ( DF ) ) ]

ここでは、data.frame() 関数が「df」変数内で確立されており、列が値で指定されています。次に、row.names() 関数を使用して DataFrame の行名を指定します。その後、order() 関数を呼び出して、DataFrame を行名で並べ替えます。 order() 関数は、DataFrame の行を再編成するために使用される、並べ替えられた行のインデックスを返します。

出力には、行ごとにソートされた DataFrame がアルファベット順に表示されます。

結論

R で DataFrame をソートするためのさまざまな関数を見てきました。それぞれのメソッドには利点があり、ソート操作が必要です。 R 言語で DataFrame を並べ替えるメソッドは他にもありますが、order()、arrange()、および setorder() メソッドが並べ替えに最も重要で使いやすいです。