Учитывая, что структура JSON содержит вложенные ключ: значение и ключ: массивы, вы не можете получить простой data.frame
непосредственно с вашими данными JSON. Вам нужно получить доступ к определенным компонентам и преобразовать их в data.frame
Например, в предоставленных вами данных мы видим, что url
– это список
str(url)
# List of 2
# ...
# the two elements being
names(url)
# [1] "title" "variables"
Таким образом, мы можем получить доступ к этим элементам
str(url$title)
# chr "Felte småvilt, etter region, småvilt og intervall (år)"
str(url$variables)
# 'data.frame': 4 obs. of 6 variables:
# $ code : chr "Region" "Smaviltjakt" "ContentsCode" "Tid"
# $ text : chr "region" "småvilt" "statistikkvariabel" "intervall (år)"
# $ values :List of 4
# ..$ : chr "0" "01" "02" "03" ...
# ..$ : chr "00" "01" "02" "03" ...
# ..$ : chr "Smaavilt"
# ..$ : chr "1991-1992" "1992-1993" "1993-1994" "1994-1995" ...
Теперь вам нужно решить, какие конкретные компоненты данных вам нужны.
Заимствуя комментарий @antoine-sac, мы можем создать список из четырех data.frames
:
df_list = list();
for(i in 1:4) {
df_list[[url$variables$code[i]]] <- data.frame(val=url$variables$values[[i]],
description=url$variables$valueTexts[[i]])
}
Окончательно; вы должны научиться работать со списками, а не только с data.frames. Они важны в Р.
person
SymbolixAU
schedule
29.06.2016
[[
. - person asachet   schedule 22.06.2016dfs_list[[1]]
.df_list = list(); for(i in 1:4) {df_list[[tmp$variables$code[i]]] <- data.frame(val=tmp$variables$values[[i]], description=tmp$variables$valueTexts[[i]])}
. - person asachet   schedule 22.06.2016