Я думаю, что должен быть лучший способ сделать это.
Я пытаюсь изменить порядок столбцов в кадре данных. У меня есть список 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)
}
}