Как вы знаете, вы можете анализировать данные JSON с помощью fromJSON()
Чтобы получить доступ к элементам в проанализированных данных JSON, вы используете тот же метод, что и для доступа к другим вещам, то есть к функции доступа R $
, не забывая, что это может занять несколько слоев, например your_data$details$result$locationHierarchy$city
Вот несколько советов, которые помогут вам легко скопировать ваши данные в виде текста (например, для копирования в вопрос SO)
Давайте возьмем некоторые данные
some_data <- iris[1, ]
some_data
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1 5.1 3.5 1.4 0.2 setosa
Вы можете преобразовать любой объект R (например, кадр данных, вектор, элемент и т. Д.) В формат JSON, используя toJSON()
some_data_as_JSON <- toJSON(some_data)
some_data_as_JSON
# [{"Sepal.Length":5.1,"Sepal.Width":3.5,"Petal.Length":1.4,"Petal.Width":0.2,"Species":"setosa"}]
В приведенном выше примере, если вы попытаетесь скопировать / вставить данные JSON, возвращенные в консоль R, произойдет ошибка, поскольку специальные символы не экранированы должным образом.Однако, есть простой способ обойти это, используя dput()
dput(some_data_as_JSON)
# structure("[{\"Sepal.Length\":5.1,\"Sepal.Width\":3.5,\"Petal.Length\":1.4,\"Petal.Width\":0.2,\"Species\":\"setosa\"}]", class = "json")
Теперь вы можете скопировать / вставить этот вывод и назначить его как объект R!(так что это идеально подходит для SO вопроса)
При анонимизации данных вы можете попробовать использовать функцию рандомизации, такую как runif()
, для генерации случайных данных для числовых типов данных.Для персонажей вы можете попробовать gsub()
один символ за другим случайным образом (это не будет сильным анонимизацией, но это может быть хорошо, в зависимости от того, что вы пытаетесь сделать).Или вы можете генерировать случайные строки, используя
library(stringi)
stri_rand_strings(3, 5, pattern = "[A-Za-z0-9]")
Последний совет: SO склонен предпочитать маленькие воспроизводимые примеры (в отличие от больших), поэтому, возможно, лучше всего было бы взять небольшое подмножествоВаши данные для копирования в SO, или, возможно, даже создать совершенно новый объект (достаточно маленького)