إعادة ترتيب الأعمدة dataframe بينما يتجاهل الأعمدة مجهولة الهوية

StackOverflow https://stackoverflow.com/questions/1538798

  •  20-09-2019
  •  | 
  •  

سؤال

وأنا أفكر هناك يجب أن تكون هناك طريقة أفضل للقيام بذلك.

وأنا أحاول أن إعادة ترتيب الأعمدة في dataframe. لدي قائمة، 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) 
    }
}
هل كانت مفيدة؟

المحلول

ولا يمكنك فقط القيام بذلك؟

ordered.colnames <- ordered.colnames[ordered.colnames %in% colnames(dataset)]
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top