R で 2 つの列を比較する方法: 例付き


多くの場合、R の 2 つの列を比較し、比較結果を 3 番目の列に書き込みたい場合があります。

次の構文を使用すると、これを簡単に実行できます。

 df$ new_col <- ifelse (df$ col1 > df$ col2 , ' A ',
ifelse (df$ col1 < df$ col2 , ' B ', ' C '))

この 1 行のコードは次のことを行います。

  • 列 1 が列 2 より大きい場合は、3 列目の出力として「A」を書き込みます。
  • それ以外の場合、列 1 が列 2 より小さい場合は、出力として「B」を書き込みます。
  • それ以外の場合は、出力として「C」を書き込みます。

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

例: R の 2 つの列を比較します。

5 つの異なる試合で 2 つのサッカー チームが得点したゴール数を示す次のデータ フレームがあるとします。

 #create data frame
df <- data.frame(A_points=c(1, 3, 3, 3, 5),
                 B_points=c(4, 5, 2, 3, 2))

#view data frame
df

  A_points B_points
1 1 4
2 3 5
3 3 2
4 3 3
5 5 2

次のコードを使用して、行ごとのゴール数を比較し、試合の勝者を 3 列目に表示できます。

 #compare A_points and B_points and output results to new column titled winner
df$winner <- ifelse (df$A_points > df$B_points, ' A ',
               ifelse (df$A_points < df$B_points, ' B ', ' Tie '))

#view data frame
df

  A_points B_points winner
1 1 4 B
2 3 5 B
3 3 2 A
4 3 3 Tie
5 5 2 A

比較結果は、 winnerという新しい列に表示されます。

追加リソース

R でデータ フレーム列をスタックする方法
R で 2 つの列を 1 つに結合する方法
R で列名を反復処理する方法

コメントを追加する

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