Dplyr を使用した R の列の追加、削除、名前変更

Dplyr を使用した R の列の追加、削除、名前変更

dplyr はデータ操作用の人気のある R パッケージであり、ユーザーがデータ フレームを簡単に操作できるようにします。データを操作する際の一般的なタスクは列の名前を変更することであり、これは dplyr が rename() 関数を使用して効率的に処理します。

dplyr の rename() 関数は、不明瞭またはあいまいな名前の列を持つデータセットを扱う場合に特に便利です。dplyr は、列の名前を変更するためのシンプルで直感的な構文を提供することで、ユーザーがコードを理解し、保守しやすくします。

さらに、この関数はフィルタリングや要約などの他の dplyr 操作と簡単に組み合わせて、R でシームレスなデータ操作ワークフローを作成できます。

これらの機能はPower Queryでも利用できるため、R プログラムに固有のものではありません。ただし、R の方が扱いが上手です。

次の記事では、dplyr の rename() 関数とそのさまざまなアプリケーションの詳細を検討し、データ フレームの管理においてそれがいかに効果的であるかを例証します。

dyplr を使用して R で列を追加および削除する方法も学びます。

これらのテクニックを学ぶことで、ユーザーはデータ操作の実践性を高め、より堅牢でエラーのない分析を生成し、その過程を楽しむことができます。

データ サイエンスの話を始めましょう。基本 R を導入して、おしゃべりする時間です。

目次

Dplyr の名前変更について

R の dplyr パッケージは、データセットの変換と整理に役立つ一連の関数を提供する、データ操作用の人気のあるTidyverseパッケージです。これらの関数の中で、rename() 関数は、データ フレーム内の列名を変更する場合に特に便利です。

rename() 関数を使用するには、次のように、新しい列名の後に古い列名を指定するだけですnew_name = old_name。たとえば、列名「old1」を「new1」に変更するサンプル データ フレームを考えてみましょう。構文は次のようになります。

library(dplyr)
df %>% rename(new1 = old1)

さらに、 rename_with() 関数を使用すると、指定した変換関数を使用して列の名前を変更できます。たとえば、 toupper 関数を使用して、すべての列名を大文字に変換できます。

df %>% rename_with(toupper)

複数の列の名前を一度に変更する必要がある場合、dplyr には 2 つの方法が用意されています。最初の方法では、rename() 関数を使用して、複数の新しい列名と古い列名を引数として指定します。

df %>% rename(new1 = old1, new2 = old2)

2 番目の方法では、rename_with() 関数を使用して、古い列名と新しい列名の配列を定義します。

new <- c('new1',="" 'new2')="" old=""><- c('old1',="" 'old2')="" df="" %="">% rename_with(~ new, all_of(old))

上記の例に示すように、どちらの方法でも同じ結果が得られます。

Dplyr のインストールとロード

列の名前を変更するために dplyr パッケージの使用を開始するには、まずパッケージを R 環境にインストールしてロードする必要があります。dplyr のインストールは、次のコマンドを使用して実行できる簡単なプロセスです。

install.packages("dplyr")

インストールが完了したら、ライブラリ関数を使用して R スクリプトに dplyr パッケージをロードできます。

library("dplyr")

dplyr パッケージをインストールしてロードすると、データ フレーム内の列の名前を変更する rename() 関数などの強力なデータ操作関数を利用できるようになります。

ここでは、よく知られた iris データセットで rename() 関数を使用する例を示します。「Sepal.Length」列の名前を「sepal_length」に変更するとします。これは、次のコードを使用して実現できます。

iris_renamed <- iris="" %="">%
  rename(sepal_length = Sepal.Length)

このコード スニペットでは、%>% 演算子を使用して、iris データセットを rename() 関数にパイプします。新しい列名「sepal_length」が古い列名「Sepal.Length」に割り当てられます。名前が変更された列を含む結果のデータ フレームは、変数名 iris_renamed に割り当てられます。

rename() 関数は、複数の列の名前変更を一度に処理することもできます。たとえば、「Sepal.Length」列と「Sepal.Width」列の両方の名前をそれぞれ「sepal_length」と「sepal_width」に変更する場合は、次のコードを使用できます。

iris_renamed <- iris="" %="">%
  rename(
    sepal_length = Sepal.Length,
    sepal_width = Sepal.Width
  )

このコード スニペットは、dplyr の rename() 関数を使用してデータ フレーム内の複数の列の名前を変更することがいかに簡単であるかを示しています。

Dplyr の名前変更機能の使用

R の dplyr パッケージは、データ フレームを操作する場合のデータ操作のための強力なツールです。提供される多くの便利な関数の 1 つは、データ フレーム内の列の名前を簡単に変更できる名前変更関数です。

基本的な構文

dplyr で名前変更関数を使用するための基本的な構文は次のとおりです。


library(dplyr)
your_dataframe %>% rename(new_column_name = old_column_name)

このコマンドは、データ フレーム内の他の列を変更せずに、指定された古い列の名前を目的の新しい列名に変更します。

複数の列の名前を変更する

同じ名前変更関数を使用して、複数の列の名前を一度に変更することもできます。これを行うには、カンマでペアの名前を変更して各列を区切ります。


your_dataframe %>%
   rename(new_column1 = old_column1,
          new_column2 = old_column2,
          new_column3 = old_column3)

この方法を使用すると、1 つのステートメントで必要な数の列の名前を変更できます。

あるいは、rename_with()関数を使用して列名に変換を適用することもできます。この関数は、データ フレームと、新しい名前を生成するために列名に適用される関数を受け取ります。例えば:


your_dataframe %>%
  rename_with(.cols = c("old_column1", "old_column2"), .fn = toupper)

これにより、指定された列名が大文字に変換されます。

他の Dplyr 関数とのチェーン

dplyr の強みの 1 つは、演算子を使用して複数のアクションをチェーンできることです%>%。これにより、一連のデータ操作を簡潔で読みやすい方法で実行できます。rename 関数を使用する場合、filter()mutate()、 などの他の dplyr 関数と連鎖させることができますsummarize()


your_dataframe %>%
  filter(some_condition) %>%
  rename(new_column_name = old_column_name) %>%
  mutate(new_column = some_expression) %>%
  summarize(some_aggregation)

この例では、最初にデータのフィルター処理が行われ、次に列の名前を変更し、mutate を使用して新しい列を作成し、最後に集計関数を使用してデータを集計する一連のデータ操作を示します。

dplyr の名前変更機能とチェーン機能を活用することで、R ユーザーはデータ フレームに対して効率的で読みやすいデータ操作を実行できます。

Dplyr の名前変更の一般的な使用例

Dplyr は、データ操作タスクを実行するための一連の関数を提供する R の強力なパッケージです。一般的なタスクの 1 つは、データ フレーム内の列の名前を変更することです。このセクションでは、dplyr の名前変更機能の一般的な使用例について説明します。

1. 単純な列の名前変更:

この関数を使用すると、単一の列の名前を簡単に変更できますrename()。構文は ですrename(dataframe, new_name = old_name)。以下に例を示します。

library(dplyr)
dataframe <- dataframe="" %="">% rename(new_column_name = old_column_name)

2. 複数の列の名前を変更します。

関数内に追加の列マッピングを提供することで、1 回の関数呼び出しで複数の列の名前を変更することもできますrename()。以下に例を示します。

dataframe <- dataframe="" %="">%
  rename(new_col_name1 = old_col_name1,
         new_col_name2 = old_col_name2)

3. 文字列関数を使用して列の名前を変更します。

関数を使用すると、tolower()や などの文字列関数を使用して列の名前を変更できます。Stack Overflowによると、この関数は現在置き換えられているおよび関数を置き換えます。以下に例を示します。toupper()rename_with()rename_ifrename_atrename_all

dataframe <- dataframe="" %="">%
  rename_with(tolower)  # Converts column names to lowercase

4. 条件に基づいて列の名前を変更します。

を使用するとrename_with()、カスタムの名前変更機能を適用したり、条件を使用したりすることもできます。次の例は、特定の文字列が含まれているかどうかに基づいて列の名前を変更する方法を示しています。

rename_function <- function(x)="" {="" if="" (grepl("length",="" x))="" {="" return(paste0(x,="" "_length"))="" }="" else="" {="" return(paste0(x,="" "_default"))="" }="" }="" dataframe=""><- dataframe="" %="">% rename_with(rename_function)

エラーとエッジケースの処理

dplyr rename 関数を使用してデータ フレーム内の列名を変更しているときに、列名の重複、列名のスペース、または構文の誤りにより、エラーや特殊なケースが発生する可能性があります。このセクションでは、これらの問題に対処する方法についてのガイダンスを提供します。

重複する列名を処理する場合、dplyr は同じ出力名を持つ列の名前を変更できません。ただし、列名の重複を解消する回避策は、rename_alldplyr パッケージの関数を次のように使用することですpaste0

d %>% rename_all(~paste0(., 1:2))

このコードは、各列名に 1 から 2 までの数字を追加して、重複がないようにします。詳細については、このスタック オーバーフローのディスカッションを参照してください。

列名にスペースが含まれている場合は、次のようにバッククォートを使用して列名を囲むことができます。

df %>% rename(foo = `test col`)

paste0()最後に、dplyr が関数を old_name として受け入れないことに関連する問題に直面した場合rename()、考えられる解決策は、関数の外で新しい列名を構築しrename()、それらを入力として使用することです。同様の問題に関する関連する議論は、このStack Overflow の質問にあります。

これらのエラーや特殊なケースに対処することで、dplyr での複雑な名前変更シナリオをより適切に処理できるようになります。

dplyr の名前変更に関する記事のこの最後のセクションでは、データ操作タスクにおけるその重要性について説明しました。rename() 関数を使用すると、ユーザーは列名を効率的に変更できるため、より明確で簡潔なデータ フレームが得られます。これは、大規模なデータセットを扱うとき、またはデータの前処理ステップ中に特に役立ちます。

dplyr パッケージを使用すると、R で列の名前を変更するのは簡単です。これは難しいデータ サイエンスではありません。以下を確認してください。

  rename(new_column_name = old_column_name)

この単純な構文を使用すると、古い列名を新しい列名に置き換えることができるため、可読性が向上し、データの一貫性が確保されます。さらに、 rename_with() 関数を使用すると、特定の関数を使用して列名を変更できます。これにより、データ操作の制御とカスタマイズが強化されます。

dplyr と名前変更機能の機能を活用することで、自信を持ってデータを操作し、全体的なデータ処理能力を向上させることができます。など、新しい R プログラミング テクニックを学習するときは、常に信頼できるソースを使用することを忘���ないでください。

ツールキットに dplyr rename を追加すると、さまざまなデータ操作の課題に取り組み、R プログラミングの専門知識を継続的に向上させるための十分な準備が整います。

さらなる実際の例 - 列の追加、削除、名前変更

列操作により、 dplyrを使用して R で列の計算、追加、削除、名前変更を行うことができます。RStudio で新しい R スクリプトを開きます。方法がわからない場合は、リンクをクリックしてRStudio のインストール方法とR スクリプトの作成方法を確認してください。

このデモンストレーションでは、Lahman データセット パッケージが使用されます。これには100年以上遡る野球の記録が含まれています。練習に使用するのに適したデータセットです。Google で簡単に検索してダウンロードできます。

さらに、Lahman パッケージには、大文字の T でTeams というラベルの付いたデータセットがあります。R の命名規則のベスト プラクティスは、小文字を使用することです。したがって、以下の図に示すように、これをまずTeamsに変換する必要があります。

Dplyr を使用した R の列の追加、削除、名前変更

列操作の基本関数

1. R に新しい列を追加する

最初の関数はmutate()です。これにより、既存の列に基づいて新しい列が作成されます。

新しい列を計算する場合は、引数に続いてmutate関数を使用できます。

dfは、あらゆる種類のデータ フレームの代用名です。したがって、実際に使用するときは、dfを変更するデータ フレームの名前に置き換えます。次に、名前を付ける必要がある新しい変数を、新しい列を導出する式とともに配置します。

例として、mutate関数を使用して各列の勝率を求めます。Lahman データセットには、Win と Loss の列があります。パーセンテージを取得するには、Win を Win と Loss の合計で割ります。ただし、それを行う前に、dplyr パッケージを導入する必要があります。

dplyr を使用せずにmutate関数を実行するとどうなるかは次のとおりです。

「関数 mutate が見つかりませんでした」というエラーが表示されます。

そこで、dplyr を R に取り込む方法を次に示します。必要なのはlibrary (tidyverse)を実行することだけです。

dplyr は、 tidyverseパッケージの多くの関数の 1 つであることがわかります。別のオプションは、ライブラリ (dplyr)を実行することです。

ここで、 mutate関数を含むコードにカーソルを置いて実行すると、勝率を含むWpct列が表示されます。

Dplyr を使用した R の列の追加、削除、名前変更

この例では、 mutate関数の結果が実行されただけです。データに割り当てられませんでした。

mutate関数の結果をデータチームに割り当てる場合は、代入演算子( <-> )を使用する必要があります。完了したら、実行します。次に、別の行でhead (チーム)を実行します。これにより、結果がチームデータセットに割り当てられます。

Dplyr を使用した R の列の追加、削除、名前変更

データセット内でどの列が使用できるかを確認したい場合は、names ( )関数を使用します。これにより、データ内のすべての列名がリストされます。

Dplyr を使用した R の列の追加、削除、名前変更

既存の関数をmutate関数の一部として使用することもできます。たとえば、log ()関数を使用して、特定のデータセットのログを取得できます。

Dplyr を使用した R の列の追加、削除、名前変更

2. R の列を選択します

dplyr のもう 1 つの関数はselect()です。指定された列を削除または選択します。その基本的なアルゴリズムは次のとおりです。

Dplyr を使用した R の列の追加、削除、名前変更

データ フレーム名を入力してから、選択する列を入力する必要があります。

たとえば、yearID、wins、loss 列をデータセットに保持したい場合は、次を実行するだけで済みます。

Dplyr を使用した R の列の追加、削除、名前変更

そうすれば、望む結果が得られます。

Dplyr を使用した R の列の追加、削除、名前変更

ただし、 head ( )関数を使用しない場合、結果には列の一番下の行が表示されます。したがって、複数行のデータを扱っている場合は、列の先頭に到達するまで継続的に上にスクロールする必要があります。

ベスト プラクティスは、head関数を select とともに使用することです。そのため、コードを実行すると、結果には列の一番上の行が最初に表示されます。

Dplyr を使用した R の列の追加、削除、名前変更

データセットから列を削除したい場合は、列名の前にマイナス記号( – ) を置くだけで済みます。

Dplyr を使用した R の列の追加、削除、名前変更

列が実際に削除されたかどうかを確認するには、新しいデータセットと古いデータセットを比較します。その方法は次のとおりです。

まず、 select関数を含む R コードをオブジェクトに割り当てます。この例では、 Teams_shortに割り当てられています。列の数をカウントするには、ncol ( )関数を使用します。Teams_shortTeams の両方に対してncol関数を実行します。

Dplyr を使用した R の列の追加、削除、名前変更

データセットから 1 つの列が削除されたことがわかります。

Dplyr を使用した R の列の追加、削除、名前変更

3. R の列の名前を変更する

dplyr の最後の列関数はrename()です。名前が示すように、R で選択した列の名前を変更できます。

これがその基本的なアルゴリズムです。

Dplyr を使用した R の列の追加、削除、名前変更

そして、これは少し直観に反していることに気づくでしょう。新しい名前が最初に来て、古い名前がその後に来ます。したがって、これらを混同しないように注意してください。

たとえば、現在のyearID 列divID列の名前は、それぞれyear_idDivision_idに変更されます。コードを実行する前に、元のデータセットを中断しないように、これを新しいオブジェクトに割り当ててください。

Dplyr を使用した R の列の追加、削除、名前変更

これらの選択した列の名前が正常に変更されたかどうかを確認するには、names ( )関数を使用します。

Dplyr を使用した R の列の追加、削除、名前変更

実際に列の名前が変更されていることがわかります。

Dplyr を使用した R の列の追加、削除、名前変更

LuckyTemplates で R を使用すると、どれほど強力になるか疑問に思ったことはありませんか。この素晴らしいテクニックをチェックしてください。時間を大幅に節約できます。

最後の言葉

このチュートリアルでは、列操作の実行に使用できる3 つの基本的なdplyr関数について説明しました。具体的には、R で列を追加、削除、名前変更する方法を学びました。

まだ検討していない機能がまだ他にもあります。ただし、 mutate ( )select ( )、およびrename ( ) は最も一般的なものであるため、よく理解しておくことが重要です。

これらの列編集テクニックは Power Query でも実行できます。しかし、dplyr でこれを行う方法についての知識も持っているのは素晴らしいことです。これは、統計データ セットの分析に移るときに確実に役立ちます。

よくある質問

RとPythonの違いは何ですか?

まず、R と Python は両方ともプログラミング言語ですが、Python は汎用言語に近く、R は統計プログラミング言語です。Python は、より一般的に使用され、理解されており、多用途な言語です。

ストラとは何ですか?

str は単に r オブジェクトの構造を表示します。

RのPetal.Lengthとは何ですか?

Petal.length は、テストしている関係を再計算するために R 全体で使用される形式です。

R の DataFrame とは何ですか?

R データ フレームは、あらゆる種類のデータの値を格納するために一般的に使用される表形式のデータ構造です。

dblは何の略ですか?

Dbl は「double class」の略で、小数点を含む数値を保持するために使用されるデータ型です。


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて