2
У меня есть вектор, который я пытаюсь преобразовать из символа в числовой. Я выделил его в следующее. Любая идея, что происходит? Почему это «число» или последовательность символов «1,257.15» делают это? Я загружаю набор данных из 8000 строк и около 50 выдает ошибку при выполнении as.numeric()
или as.numeric_version
.as.numeric (as.character ('1,257.15')), давая ошибку
as.numeric(as.character('1,257.15'))
[1] NA
Warning message:
NAs introduced by coercion
traceback()
3: stop(gettextf("invalid version specification %s", paste(sQuote(unique(x[!ok])),
collapse = ", ")), call. = FALSE, domain = NA)
2: .make_numeric_version(x, strict, .standard_regexps()$valid_numeric_version)
1: numeric_version(as.character("1,256.15"))
numeric_version(as.character('1,256.15'))
Error: invalid version specification ‘1,256.15’
Тогда я попробовал это.
numericDeriv(as.character('1,257.15'))
Error in rep_len(dir, length(theta)) :
argument "theta" is missing, with no default
Это не является надежным для чисел с более чем одной запятой, например. '1,234,567.89'. Просто удалите все запятые, как один из других ответов. –
@ Mathematical.coffee Готово. – VermillionAzure
Спасибо. В моем примере я напечатал строку и не имел дополнительного места. Хотя мне нравится решение, меня беспокоит, что решение даже необходимо. Любая идея, что происходит «под капотом»? – Tom