Json R在数据帧中提取列表

Json R在数据帧中提取列表,json,r,list,Json,R,List,解析数据帧中嵌入在变量中的列表的最佳方法是什么 在R中解析json时(我通常使用jsonlite包),我经常会得到包含列表(其他列表或数据帧)的数据帧列。一个简单的例子是解析Twitter流数据,其中坐标作为纬度和经度列表返回。一个更复杂的例子(也是我目前正在讨论的例子)是医生的JSON,它将地址解析为数据帧列表。下面是一些说明结构的示例数据(顺便说一下,这是公共数据): jsonlite有一个函数(flatte),用于将嵌入的数据帧提取到单个变量,但它不适用于列表 在Twitter示例中,我可

解析数据帧中嵌入在变量中的列表的最佳方法是什么

在R中解析json时(我通常使用jsonlite包),我经常会得到包含列表(其他列表或数据帧)的数据帧列。一个简单的例子是解析Twitter流数据,其中坐标作为纬度和经度列表返回。一个更复杂的例子(也是我目前正在讨论的例子)是医生的JSON,它将地址解析为数据帧列表。下面是一些说明结构的示例数据(顺便说一下,这是公共数据):

jsonlite有一个函数(flatte),用于将嵌入的数据帧提取到单个变量,但它不适用于列表

在Twitter示例中,我可以使用for循环将列表项提取到同一数据帧中的变量:

for (i in 1:nrow(df)){
  #sometimes coordinates is blank, so check
  if (length(df2$coordinates.coordinates[[i]]>0)){
    df2[i,"coordinates.lon"]<- df2$coordinates.coordinates[[i]][1]
    df2[i,"coordinates.lat"]<- df2$coordinates.coordinates[[i]][2]
  }
for(1中的i:nrow(df)){
#有时坐标是空的,所以请检查
if(长度(df2$coordinates.coordinates[[i]]>0)){

df2[i,“coordinates.lon”]感谢理查德·斯克里文。
tidr中的
unnest
给了我所需要的东西。

tidyr
包中查看
unnest
,如
lappy(列表(mtcars,mtcars),“[]”,mpg')
for (i in 1:nrow(df)){
  #sometimes coordinates is blank, so check
  if (length(df2$coordinates.coordinates[[i]]>0)){
    df2[i,"coordinates.lon"]<- df2$coordinates.coordinates[[i]][1]
    df2[i,"coordinates.lat"]<- df2$coordinates.coordinates[[i]][2]
  }
library(dplyr)
addresses = data.frame()
for (i in 1:nrow(df)){
  x<-df$addresses[[i]]
  #need an identifier
  x$id <-df[[i,"npi"]]
  addresses <-bind_rows(addresses, x)
}