R で cbind を使用する方法 (例あり)


R のcbind関数 ( column-bindの略) を使用すると、ベクトル、行列、データ フレームを列ごとに結合できます。

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

例 1: 行列内のベクトルのリンク

次のコードは、 cbind を使用して 2 つの列ベクトルを 1 つの行列にバインドする方法を示しています。

 #create two vectors
a <- c(1, 3, 3, 4, 5)
b <- c(7, 7, 8, 3, 2)

#cbind the two vectors into a matrix
new_matrix <- cbind(a, b)

#view matrix
new_matrix

     ab
[1,] 1 7
[2,] 3 7
[3,] 3 8
[4,] 4 3
[5,] 5 2

#view class of new_matrix
class(new_matrix)

[1] "matrix" "array" 

例 2: ベクトルをデータ フレームにリンクする

次のコードは、 cbind を使用してベクトルを既存のデータ フレームにバインドする方法を示しています。

 #create data frame
df <- data. frame (a=c(1, 3, 3, 4, 5),
                 b=c(7, 7, 8, 3, 2),
                 c=c(3, 3, 6, 6, 8))

#definevector
d <- c(11, 14, 16, 17, 22)

#cbind vector to data frame
df_new <- cbind(df, d)

#view data frame
df_new

  abcd
1 1 7 3 11
2 3 7 3 14
3 3 8 6 16
4 4 3 6 17
5 5 2 8 22

ベクトルの長さが既存のデータ フレーム内の列の長さと同じでない場合、R はエラーをスローすることに注意してください。

例 3: 複数のベクトルをデータ フレームにリンクする

次のコードは、 cbind を使用して複数の列状ベクトルを既存のデータ フレームにバインドする方法を示しています。

 #create data frame
df <- data. frame (a=c(1, 3, 3, 4, 5),
                 b=c(7, 7, 8, 3, 2),
                 c=c(3, 3, 6, 6, 8))

#definevectors
d <- c(11, 14, 16, 17, 22)

e <- c(34, 35, 36, 36, 40) 

#cbind vectors to data frame
df_new <- cbind(df, d, e)

#view data frame
df_new

  a B C D E
1 1 7 3 11 34
2 3 7 3 14 35
3 3 8 6 16 36
4 4 3 6 17 36
5 5 2 8 22 40

例 4: 2 つのデータ フレームを C バインドする

次のコードは、 cbind を使用して 2 つのデータ フレームを 1 つにバインドする方法を示しています。

 #create two data frames
df1 <- data. frame (a=c(1, 3, 3, 4, 5),
                  b=c(7, 7, 8, 3, 2),
                  c=c(3, 3, 6, 6, 8))

df2 <- data. frame (d=c(11, 14, 16, 17, 22),
                  e=c(34, 35, 36, 36, 40))

#cbind two data frames into one data frame
df_new <- cbind(df1, df2)

#view data frame
df_new

  a B C D E
1 1 7 3 11 34
2 3 7 3 14 35
3 3 8 6 16 36
4 4 3 6 17 36
5 5 2 8 22 40

おまけ:ベクトル、行列、またはデータ フレームを行ごとにバインドしたい場合は、代わりに rbind 関数を使用できます。

コメントを追加する

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