複数の列を持つ行列があり、(ベクトルとして)抽出された特別な列を取得したいのですが、その行列の別の列に従って順序付けられています。
これまでのところ、私はあまりきれいではないと思うforループアプローチでそれを行っています。私はそのようなことをするためのはるかに良い方法があると思います。
ここに実際の例があります:
# creating a example matrix with two columns
df <- data.frame(colA=c("A","B","C","D","E"),colB=(1:5))
mat <- as.matrix(df)
# my desired order
my_order <- c("C","D","A","B")
# For loop and collecting results in a vector
out <- NULL
for(i in my_order) out <- c(out,mat[mat[,1]==i,2])
print(out)
よりエレガントで計算が速い方法の提案、例はありますか?