используйте переменную data.table в запросе json - PullRequest
0 голосов
/ 01 сентября 2018

У меня есть базовая таблица, которая выглядит так:

df = data.table(id1 = c(22,23,45,78,96,45,21,58), id2 = c(24,84,64,82,84,53,54,85))

Я пытаюсь найти информацию во вложенном json. Основной запрос, который работает с моим текущим файлом json, следующий:

json $ 32 $ cat1 $ cat2 91, которая возвращает значение.

«32» и «91» - это идентификаторы, а «cat1» и «cat2» - это просто вложенные таблицы (или как они там называются X)).

Cat1 и Cat2 никогда не изменятся, но мне нужно заменить идентификаторы на идентификаторы в моей таблице df, чтобы создать новую переменную в df (которую я назову «val») со значениями из json.

Итак, вот что я пытался сделать:

id1 = as.character(df$id1)
id2 = as.character(df$id2)

Теперь я хочу автоматически найти значения всех комбинаций id1 и id2 в моем df:

df$val = json$id1$cat1$cat2$id2

К сожалению, выдает следующую ошибку:

Warning message : 
In ' [<-.data.table'(x, j = name, value = value) : 
Adding new column 'val' then assigning to NULL (deleting it). 

Я уверен, что есть очень простой способ сделать это, но я не смог найти ответ: X ...

Большое спасибо за помощь :), JB

1 Ответ

0 голосов
/ 02 сентября 2018

Хорошо, я только что нашел обходной путь, сделав плоский фрейм данных из моего JSON.

df<- data.frame(number = unlist(json))
...