6
私はこれを行うより良い方法があると考えています。未確認の列を無視しながらデータフレーム列を並べ替える
データフレームの列の順序を変更しようとしています。私は新しい注文を表すordered.colnames
というリストを持っていますが、のいくつかの列は存在しませんのdataset
です。エラー "undefined columns selected
"を避けるために、関連するスライシングをtry()
関数でラップしました。
次の方法は機能しますが、これを行うにはより良い方法がありますか?
> ordered.colnames[1:5]
[1] "lady_22102" "attentions_83249" "perseverance_17864"
[4] "cecil_84477" "cecilia_133476"
dataset.reordered = c()
for (i in 1:length(ordered.colnames)) {
col = NA
col = try(cbind(dataset[,ordered.colnames[i]]),silent=TRUE)
if (!inherits(col,"try-error")) {
colnames(col) = ordered.colnames[i]
dataset.reordered = cbind(dataset.reordered, col)
}
}
これは機能します。私はそれを考えなかったと信じられない。ありがとう。 – ariddell
また、intersectを参照してください – hadley