Как изменить тип столбца матрицы в R

У меня есть матрица, и я хочу изменить тип пятого столбца с символа на числовой, но я не могу. Я пробовал это:

test1[,5] <- as.numeric(test1[,5])

но опять же класс столбца является символом, а не числовым. Что мне делать? Спасибо

1 ответов


как сказал @Marius, матрица может содержать только один тип данных. Вы можете преобразовать свою матрицу в данные.кадр с данными.кадры могут содержать различные типы данных для каждого из своих столбцов. Функции для преобразования из и обратно являются as.data.frame и as.matrix. Затем вы сможете применить код преобразования столбца, который вы разнесли в данные.рамка.

однако вы упомянули в комментарии, что вашей конечной целью было изменить порядок матрицы на основе значений принудительного столбца. Вы не нужно принуждать столбец на месте перед переупорядочиванием матрицы, вы можете сделать все это на лету с помощью:

test1[order(as.numeric(test1[, 5])), ]