Вставка значений факторов в матрицу R

У меня есть матрица вида

arkhansas 15 16 17
newyork 56 45 30

где столбец 1 — множители, а столбцы 2:4 — целые числа.

Я застрял, пытаясь создать матрицу с формой:

15 arkhansas 1
16 arkhansas 2
17 arkhansas 3
56 newyork 1
45 newyork 2
30 newyork 3

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


person Sakti    schedule 02.07.2011    source источник


Ответы (1)


as.character() преобразует ваш фактор в строку символов, как вы хотите.

Тем не менее, предоставление примера кода было бы полезно. Попробуйте использовать dput() в своем матричном объекте, а затем скопировать и вставить результаты в свой пост. Вероятно, вы используете data.frame, а не матрицу, поскольку я считаю, что матрицы могут содержать только один тип данных.

person Ari B. Friedman    schedule 02.07.2011
comment
О, извините, я сделаю это в следующий раз, но спасибо!! Это сработало, и теперь у меня есть значения в матрице, которые мне нужно было преобразовать во фрейм данных. Спасибо! - person Sakti; 02.07.2011
comment
Пожалуйста. Рад, что решил вашу проблему. Для будущих сообщений есть отличное руководство, позволяющее другим быстро воспроизвести ваш пример здесь: stackoverflow.com/questions/5963269/ Вы обнаружите, что получите гораздо больше ответов, если поможете тем, кто хочет помочь. Удачи в любом проекте, над которым вы работали! - person Ari B. Friedman; 02.07.2011
comment
Спасибо, я проверю! В той же строке возникло еще одно сомнение: что, если, скажем, у меня есть значение 4,5678 из фрейма данных, и это фактор, но я хочу использовать его как число, как вы преобразуете его, чтобы учесть все значение? - person Sakti; 02.07.2011
comment
Я понял: as.numeric(levels(frame$col)[frame$col]) - person Sakti; 02.07.2011
comment
as.numeric(as.character(my.val)) если я правильно понимаю ваш вопрос. - person Ari B. Friedman; 03.07.2011