bugfix> r > 投稿

列ヘッダーと文字列のベクトルを持つデータフレームがあります。

これまでのところ、データフレームでは、ベクター内の文字列と一致する列名を保持できます。ただし、結果の切り捨てられたデータフレームには、元のベクトルの順序ではなく、アルファベット順に列が表示されます。

# 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