R でデータ フレームを転置する方法 (例あり)
R でデータ フレームを転置するために使用できる一般的な方法が 2 つあります。
方法 1: Base R を使用する
#transpose data frame
t(df)
方法 2: data.table を使用する
library (data.table)
#transpose data frame
df_t <- transpose(df)
#redefine row and column names
rownames(df_t) <- colnames(df)
colnames(df_t) <- rownames(df)
次の例は、これらの各メソッドを実際に使用する方法を示しています。
方法 1: 基数 R を使用してデータ フレームを転置する
次のデータ フレームがあるとします。
#create data frame df <- data. frame (A = c(1, 2, 3, 4, 5), B = c(6, 7, 8, 9, 10), C = c(11, 12, 13, 14, 15)) #define row names row. names (df) <- c('One', 'Two', 'Three', 'Four', 'Five') #view data frame df ABC One 1 6 11 Two 2 7 12 Three 3 8 13 Oven 4 9 14 Five 5 10 15
R Base t()関数を使用すると、データ フレームをすばやく転置できます。
#transpose data frame
t(df)
One Two Three Four Five
A 1 2 3 4 5
B 6 7 8 9 10
C 11 12 13 14 15
行と列が逆になります。
方法 2: data.table を使用してデータ フレームを転置する
もう一度、次のデータ フレームがあると仮定してみましょう。
#create data frame df <- data. frame (A = c(1, 2, 3, 4, 5), B = c(6, 7, 8, 9, 10), C = c(11, 12, 13, 14, 15)) #define row names row. names (df) <- c('One', 'Two', 'Three', 'Four', 'Five') #view data frame df ABC One 1 6 11 Two 2 7 12 Three 3 8 13 Oven 4 9 14 Five 5 10 15
data.table パッケージのtranspose()関数を使用すると、データ フレームをすばやく転置できます。
library (data.table) #transpose data frame df_t <- transpose(df) #redefine row and column names rownames(df_t) <- colnames(df) colnames(df_t) <- rownames(df) #display transposed data frame df_t One Two Three Four Five A 1 2 3 4 5 B 6 7 8 9 10 C 11 12 13 14 15
結果は、前の例の転置されたデータ フレームです。
注: 非常に大きなデータ フレームを操作している場合、data.table メソッドは基本的な R よりもはるかに高速になります。
追加リソース
次のチュートリアルでは、R でデータ フレームに対して他の一般的な操作を実行する方法について説明します。
R の各データ フレーム行に関数を適用する方法
R で空の列をデータ フレームに追加する方法
R でデータ フレームをサブセット化する方法