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) 
    }
}
4

1 に答える 1

13

これしかできないの?

ordered.colnames <- ordered.colnames[ordered.colnames %in% colnames(dataset)]
于 2009-10-08T16:09:21.030 に答える