Dplyr を使用して名前でデータフレーム行を選択する方法


dplyr を使用して名前でデータ フレーム内の行を選択するには、次の構文を使用できます。

 library (dplyr)

#select rows by name
df %>%
  filter(row. names (df) %in% c(' name1 ', ' name2 ', ' name3 '))

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

例: dplyr を使用して名前で行を選択する

R に次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#set row names
row. names (df) <- c('Mavs', 'Hawks', 'Cavs', 'Lakers', 'Heat')

#view data frame
df

       points assists rebounds
Mavs 99 33 30
Hawks 90 28 28
Cavs 86 31 24
Lakers 88 39 24
Heat 95 34 28

次のコードを使用して、行名が Hawks、Cavs、または Heat に等しい行を選択できます。

 library (dplyr)

#select specific rows by name
df %>%
  filter(row. names (df) %in% c(' Hawks ', ' Cavs ', ' Heat '))

      points assists rebounds
Hawks 90 28 28
Cavs 86 31 24
Heat 95 34 28

dplyr は、 filter()関数に指定したベクトルに名前が含まれる行のみを返すことに注意してください。

また、感嘆符 ( ! ) を使用すると、名前がベクトルにない行をすべて選択できることにも注意してください。

 library (dplyr)

#select rows that do not have Hawks, Cavs, or Heat in the row name
df %>%
  filter(!(row. names (df) %in% c(' Hawks ', ' Cavs ', ' Heat ')))

       points assists rebounds
Mavs 99 33 30
Lakers 88 39 24

dplyr は、 filter()関数に指定したベクトルに名前が含まれていない行のみを返すことに注意してください。

追加リソース

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

dplyrを使用して一意の値をフィルタリングする方法
dplyrを使って複数の条件でフィルタリングする方法
R の列の出現数をカウントする方法

コメントを追加する

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