Изменение списка с десятичными числами на числовые - PullRequest
0 голосов
/ 07 декабря 2011

Я новичок в R и у меня проблемы с преобразованием списка в числовой объект.У меня есть список номеров, как это

0,4484 0,4495 0,4516 0,4526 0,4533 0,4571 0,4592 0,4625 0,4654 0,4671 0,46860,4697

и я хочу сделать гистограмму с этими значениями.Я прочитал список в R с:

x <- read.table(as.matrix('foo.txt', sep='\t', header=F)

, и он читается как data.frame.Когда я пытаюсь использовать Hist () для этого data.frame, он жалуется, что он не числовой.Чтобы преобразовать его в числовую переменную, я сделал это:

as.numeric(c(x[1:1974,])) -> xnum

и он становится числовым, но когда я смотрю на данные в xnum, это выглядит так

Итак, чтобы извлечь числа ииспользуя 'format', чтобы сохранить десятичные разряды, я попробовал это898 899 900 901 902 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916

Я предположил, что это проблема с десятичными числами, и обнаружил, что функция 'format' читаетчисловые значения, поэтому я попробовал это:

format(as.numeric(c(x[1:1974,])), digits=4) -> xnum2

xnum2 затем выглядит так

"888" "889" "890" "891" "892" "893"" 894 "" 895 "" 896 "" 897 "" 898 "" 899 "" 900 "" 901 "" 902 "" 902 "" 903 "" 904 "" 905 "" 906 "" 907 "" 908 ""909 "" 910 "" 911 "" 912 "" 913 "" 914 "" 915 "" 916 "

и больше не числовые!

Как изменить данные.frame в числовой объект с десятичными знаками (для того, чтобы мые hist())?

1 Ответ

4 голосов
/ 07 декабря 2011

Как вы уже поняли, проблема в том, что R ожидал, что десятичный разделитель будет "."а не ",".Что-то вроде этого должно привести вас на правильный путь:

x <- read.table("foo.txt", sep = "\t", dec = ",", header = FALSE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...