列ヘッダーと文字列のベクトルを持つデータフレームがあります。
これまでのところ、データフレームでは、ベクター内の文字列と一致する列名を保持できます。ただし、結果の切り捨てられたデータフレームには、元のベクトルの順序ではなく、アルファベット順に列が表示されます。
# the data frame
df <- head(t(USArrests))
# the vector of string character
v <- c("Wyoming", "Alabama", "California", "Arizona")
# subsetting the data frame by column names contained in the vector
df[,which(colnames(df) %in% v)]
Alabama Arizona California Wyoming
Murder 13.2 8.1 9.0 6.8
Assault 236.0 294.0 276.0 161.0
UrbanPop 58.0 80.0 91.0 60.0
Rape 21.2 31.0 40.6 15.6
しかし、私は次のようにベクトルの元の順序を維持しようとしています:
Wyoming Alabama California Arizona
Murder 6.8 13.2 9.0 8.1
Assault 161.0 236.0 276.0 294.0
UrbanPop 60.0 58.0 91.0 80.0
Rape 15.6 21.2 40.6 31.0
回答 2 件
subset()
を使用することもできます 関数:subset(df,select=c(v))
関連記事
- スライスとリストを組み合わせて列を選択するパンダ
- Rの属性「名前」でベクトルを並べ替えるが、最初の要素を一定に保つにはどうすればよいですか?
- Postgresql条件に一致する列を選択する方法は?
- 列の値をスキャンし、その結果を使用して他の列を選択します
- SQLは1つのエントリから2つの列を選択します
- ベクトルを使用して複数の列の名前を変更する
- 1つのVALUE列と2つのカウンター(X、Y)のみを含むテーブルから条件付きの複数の列を選択します
- PHPのmysqlデータベースのさまざまなテーブルから特定の列を選択する方法
- MySQLテーブル列を使用せずに2列間の範囲日付を選択
- where条件の動的列を持つselectステートメント
代わりに:
使用するだけ: