2016-03-16 3 views
1

Я преобразовываю объекты JSON в R с использованием fromJSON из пакета , но числовые значения округляются. Как я могу контролировать точность преобразованных числовых значений?Значительные цифры при преобразовании JSON с использованием JSON в jsonlite

Пример

library(jsonlite) 
fromJSON('{"lon": -86.143278324353244}') 
## $lon 
## [1] -86.14328 

## Desired output is -86.143278324353244 

Глядя в jsonlite код, я проследил функция перезванивает R_parse в parse.c

.Call(jsonlite:::R_parse, "-86.143278324353244", FALSE) 
## [1] -86.14328 

Другие попытки

  • fromJSON имеет аргумент digits, но это недействительный аргумент с toJSON.
  • Другие упаковки, такие как rjson и RJSONIO, дают аналогичные результаты.
+1

Значения не округляется внутренне. R просто не печатает все цифры по умолчанию, потому что это обычно немного непослушное. – MrFlick

ответ

2

Это там ...

> print(fromJSON('{"lon": -86.143278324353244}'), digits=20) 
$lon 
[1] -86.143278324353247 
Смежные вопросы