2016-05-09 3 views
0

У меня есть набор данных с 50 тысячами строк, которые я хочу сортировать по значениям в одном из столбцов. Цифры в колонке идут от 1-30, и когда я делаю следующеесортировка столбцов от самых низких до самых высоких (т.е. 1, 2, 3 и т. Д., А не 1, 10, 11 ... 2, 20, 21 ... и т. Д.)

data=data[order(data$columnname),] 

он получает отсортированный, так что порядок столбцов, как это

1, 10, 11 12, 13, 14, 15, 16, 17, 18, 19, 2, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3, 30, 4, 5, 6, 7, 8, 9

как я мог сортировать ее так, чтобы она, как это

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30

+0

Попробуйте 'данные [заказ (as.numeric (данные $ имя_столбца))]' – akrun

+0

эх жаль @akrun! У меня только 0s и 1s как значения в столбце –

+0

Затем, откуда взялись эти «1, 10, 11, 12, 13 и т. Д.»? – akrun

ответ

1

Для меня кажется, что ваш формат не является числовым. Попробуйте это:

data$columnname<-as.numeric(data$columnname) 
data=data[order(data$columnname),] 
+0

спасибо, что сработало, но почему-то 0s и 1s перемешаны, поэтому он выглядит как 0, 0, 0, 1, 1, 0, 1, 0, 0 ... и т. Д., А затем 2, 2, 2, 3, 3, 3, 4, 4, 4 и т. Д., Как обычно. Любая идея почему? –

+0

Thats weird, does ** data $ columnname <-as.numeric (as.character (data $ columnname)) ** help? –

Смежные вопросы