Как использовать dput () для создания кода, необходимого для создания всего набора данных iris в виде JSON - PullRequest
0 голосов
/ 07 февраля 2019

Если первые 38 строк набора данных iris преобразуются в JSON, а затем передаются в dput(), полученный текст в консоли R можно скопировать / вставить и назначить в качестве нового объекта json.

т.е.

iris[1:38, ] %>% toJSON(.) %>% dput(.)

# structure("[{\"Sepal.Length\":5.1,\"Sepal.Width\":3.5,\"Petal.Length\":1.4,\"Petal.Width\":0.2,\"Species\":\"setosa\"},
# etc

new_json_object <- structure("[{\"Sepal.Length\":5.1,\"Sepal.Width\":3.5,\"Petal.Length\":1.4,\"Petal.Width\":0.2,\"Species\":\"setosa\"},
# This works

Но если то же самое делается для более чем первых 38 строк (например, iris[1:39, ], и результирующий выходной файл копируется / вставляется и присваивается как новый объект json,консоль R ожидает большего ввода (т. е. не назначает)

iris[1:39, ] %>% toJSON(.) %>% dput(.)
# structure("[{\"Sepal.Length\":5.1,\"Sepal.Width\":3.5,\"Petal.Length\":1.4,\"Petal.Width\":0.2,\"Species\":\"setosa\"},

new_json_object <- structure("[{\"Sepal.Length\":5.1,\"Sepal.Width\":3.5,\"Petal.Length\":1.4,\"Petal.Width\":0.2,\"Species\":\"setosa\"},
# etc
# This does not work 

Мне любопытно узнать, что является причиной такого поведения. Это ограничение на продолжительность одной команды R илиесть проблема с toJSON() или dput()?

...