Изменение порядка строк в матрице / области данных

Мне нужно изменить / инвертировать строки в моем кадре данных, не переносить данные, а перемещать нижнюю строку вверх и так далее. Если фрейм данных был:

1 2 3 4 5 6 7 8 9 

Мне нужно конвертировать в

 7 8 9 4 5 6 1 2 3 

Я читал о sort() но я не думаю, что это то, что мне нужно, или я не могу найти способ.

    Там, вероятно, более элегантные способы, но это работает:

     m <- matrix(1:9, ncol=3, byrow=TRUE) # m[rev(seq_len(nrow(m))), ] # Initial answer m[nrow(m):1, ] [,1] [,2] [,3] [1,] 7 8 9 [2,] 4 5 6 [3,] 1 2 3 

    Это работает, потому что вы индексируете матрицу с инвертированной последовательностью целых чисел в качестве индекса строки. nrow(m):1 приводит к 3 2 1 .

    Вы можете изменить порядок файла data.frame с dplyr пакета dplyr :

     iris %>% arrange(-row_number()) 

    Или без использования оператора трубы, выполняя

     arrange(iris, -row_number()) 

    Я бы поменял строки на индекс, начинающийся с количества строк, вдоль этой строки

     revdata <- thedata[dim(thedata)[1L]:1,] 

    Мы можем изменить порядок row.names (только для data.frame):

     # create data.frame m <- matrix(1:9, ncol=3, byrow=TRUE) df_m <- data.frame(m) #reverse df_m[rev(rownames(df_m)), ] # X1 X2 X3 # 3 7 8 9 # 2 4 5 6 # 1 1 2 3 

    Veeery поздно, но это, кажется, работает быстро, не нуждается в дополнительных пакетах и ​​просто:

     for(i in 1:ncol(matrix)) {matrix[,i] = rev(matrix[,i])} 

    Я предполагаю, что для частого использования можно было бы сделать из нее функцию. Протестировано с помощью R v = 3.3.1.

    Я думаю, что это самый простой способ:

     MyMatrix = matrix(1:20, ncol = 2) MyMatrix[ nrow(MyMatrix):1, ] 

    Если вы хотите изменить столбцы, просто выполните

     MyMatrix[ , ncol(MyMatrix):1 ] 
    Interesting Posts

    Что ограничивает машины Windows 7 x64 до <= 192 ГБ оперативной памяти?

    Устройство WLAN на Dell Inspiron не обнаружено Fedora 11

    Linux: что является «наиболее подходящим» каталогом для размещения exectuable для всех пользователей?

    Ошибка при использовании webservice, тип контента «application / xop + xml» не соответствует ожидаемому типу «text / xml»

    Что такое `lr_policy` в Caffe?

    Пример кода Resharper для объяснения «Возможное множественное перечисление IEnumerable»

    Загружать файлы размером более 1 М из папки с файлами

    Проводник Windows занимает 30 секунд. Как я могу узнать, почему?

    MySQL – как разбирать строковое значение в формате DATETIME внутри инструкции INSERT?

    UIScrollView не прокручивается после обновления до iOS7 / xcode 5

    Как получить текущий каталог выполняемого командлета

    Почему rand () всегда возвращает одно и то же значение?

    Последнее наблюдение перенесено вперед В кадре данных?

    самый быстрый алгоритм ближайшего соседа

    Захват экрана в android

    Давайте будем гением компьютера.