Я пытаюсь что-то сделать с помощью [R], который должен быть предельно простым: преобразовать значения в data.frame в числа, поскольку мне нужно проверить их значения и r не распознает их как число.as.numeric округляет положительные значения/выводит NA для отрицательных значений
Когда я преобразовать десятичное число в числовой, я получаю правильное значение:
> a <- as.numeric(1.2)
> a
[1] 1.2
Однако, когда я извлечь положительное значение из data.frame затем использовать as.numeric, то число округляется до :
> class(slices2drop)
[1] "data.frame"
> slices2drop[2,1]
[1] 1.2
Levels: 1 1.2
> a <- as.numeric(slices2drop[2,1])
> a
[1] 2
Только в случае, если:
> a*100
[1] 200
Так что это не проблема с дисплеем, то Даты сама по себе неправильно обрабатывается.
Кроме того, когда число отрицательное, я получаю NA:
> slices2drop[2,1] <- -1
> a <- as.numeric(slices2drop[2,1])
> a
[1] NA
Любая идея относительно того, что может происходить?
Обратите внимание, что при первом показе нам slices2drop [2,1] он возвращает коэффициент. Это ваша проблема - вы работаете с фактором, а не с числовыми данными. – Dason
См. Раздел '? Factor', ** Warning **. – Henrik
Пожалуйста, взгляните на этот вопрос: http://stackoverflow.com/questions/3418128/how-to-convert-a-factor-to-an-integer-numeric-without-a-loss-of-information – amzu