Отразить порядок записей во втором столбце матрицы - PullRequest
0 голосов
/ 04 февраля 2019

Я использую язык программирования R. У меня есть матрица 2x2, и мне нужно изменить порядок записей во втором столбце матрицы.Вот код для моей матрицы:

vector = c("Tom", "Smith", "Carl", "Gauss")

matrix = matrix(vector, nrow = 2)

matrix

Output:

 "Tom"   "Carl" 
 "Smith" "Gauss"

Я пытаюсь найти функцию в R, которая перевернула бы порядок второго столбца следующим образом:

 "Tom"   "Gauss" 
 "Smith" "Carl"

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Вы можете использовать функцию rev из пакета base.

vector = c("Tom", "Smith", "Carl", "Gauss")

matrix = matrix(vector, nrow = 2)

matrix[, 2] <- rev(matrix[, 2])

print(matrix)
#>      [,1]    [,2]   
#> [1,] "Tom"   "Gauss"
#> [2,] "Smith" "Carl"

Создано в 2019-02-03 пакетом Представить (v0.2.1.9000)

0 голосов
/ 04 февраля 2019

В этом ответе предполагается, что вы работаете с матрицей 2 * 2, аналогичной той, которую вы предоставили.

vector = c("Tom", "Smith", "Carl", "Gauss")

(matrix = matrix(vector, nrow = 2))

Вместо использования функции вы можете использовать индексы вектора для переворачиванияимена в матрице.

matrix[1,2]=vector[4]
matrix[2,2]=vector[3]

matrix

     [,1]    [,2]   
[1,] "Tom"   "Gauss"
[2,] "Smith" "Carl" 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...