Dplyr を使用してデータ フレームを転置する方法


R のdplyrパッケージを使用してデータ フレームを転置するには、次の基本構文を使用できます。

 library (dplyr)
library (tidyr)

df %>%
    pivot_wider(names_from = column1, values_from = column2)

Names_from引数は、転置されたデータ フレームの列名に使用する値を指定し、 Values_from引数は、転置されたデータ フレームで使用するセルの値を指定します。

パイプ演算子 ( %>% ) はdplyrパッケージから提供され、 pivot_wider()関数はTidyrパッケージから提供されることに注意してください。

次の例は、この構文を実際に使用する方法を示しています。

例: dplyr を使用してデータフレームを転置する

R に、さまざまなバスケットボール チームに関する情報を含む次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (team=c('Mavs', 'Nets', 'Kings', 'Lakers'),
                 dots=c(99, 104, 119, 113))

#view data frame
df

    team points
1 Mavs 99
2 Nets 104
3 Kings 119
4 Lakers 113

ここで、データ フレーム内のチーム名が列名として使用され、ポイント値がセル値として使用されるようにデータ フレームを転置するとします。

これを行うには、次の構文を使用できます。

 library (dplyr)
library (tidyr)

#transpose data frame
df %>%
    pivot_wider(names_from = team, values_from = points)

# A tibble: 1 x 4
   Mavs Nets Kings Lakers
      
1 99 104 119 113

データ フレームは、チーム名が列として使用され、ポイント値がデータ フレーム内のセル値として使用されるように転置されています。

結果のデータ フレームには 1 行と 4 列が含まれることに注意してください。

関連: R の pivot_wider() 関数の概要

追加リソース

次のチュートリアルでは、dplyr を使用して他の一般的なタスクを実行する方法について説明します。

dplyrを使用して特定の文字列を含む行をフィルタリングする方法
dplyr を使用して相対周波数を計算する方法
dplyrを使用してグループごとに最初の行を選択する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です