У меня есть следующие data.frameЗаказать data.frame после номера внутри символьного столбца в R
ID<-c("ID_1","ID_2","ID_3","ID_5","ID_1008","ID_6","ID_10")
SomethingElse<-c(5,6,7,1,2,3,1)
SomeText<-c("Thank","you","for","the","!","help","!")
df<-data.frame(ID,SomethingElse,SomeText)
то, что мне нужно, чтобы заказать data.frame по столбцу ID, но в отношении чисел в она (1,2,3,5,1008,6,10), так что результат выглядит следующим образом:
ID SomethingElse SomeText
ID_1 5 Thank
ID_2 6 you
ID_3 7 for
ID_5 1 the
ID_6 3 help
ID_10 1 !
ID_1008 2 !
Моя проблема при использовании команды df[order(df$ID),]
упорядочивает результат в лексикографическом порядке , который «неправильный» и выглядит следующим образом:
ID SomethingElse SomeText
ID_1 5 Thank
ID_10 1 !
ID_1008 2 !
ID_2 6 you
ID_3 7 for
ID_5 1 the
ID_6 3 help
Есть ли гладкие и быстрые однострочные решения для решения этой проблемы?
@ пользователь2100721 'mixedorder' не будет работать над этим. – akrun
@deset Вероятно, это хорошая идея полностью удалить «ID_» или создать новую переменную, используя внутреннюю часть кода akrun. – lmo
@ И если вы правы, я тоже об этом подумал, но я использую эти идентификаторы во всем более длинном коде, и это первый шаг, когда порядок имеет значение. Я просто не должен был использовать часть «ID_» с самого начала ... – Deset