提取嵌套在列表中的 data.frame

问题描述 投票:0回答:2

这是一个基本命令,但我无法绕过它。

如何在列表中提取/过滤数据框内的数据框...?

library(tidyverse)
library(jsonlite)

url <- "https://www.ine.pt/ine/json_indicador/pindica.jsp?op=2&varcd=0000611&lang=PT"

data <- fromJSON(url) 

数据导致具有 8 个变量的 1 个观察结果。

如何访问 7329 个观测值的数据框?

data$Dados$2013$data.frame

非常感谢任何帮助:) 谢谢

r json jsonlite
2个回答
0
投票

知道了...

library(tibble)

df <- as_tibble(data[[7]][[1]][[1]])

0
投票

对于从深层嵌套列表中提取元素,

purrr::pluck
非常有帮助:

library(purrr)
library(dplyr)

data %>%
    pluck(7, 1, 1) %>%
    tibble()

# A tibble: 7,329 × 7
   geocod geodsg                     dim_3 dim_3_t dim_4 dim_4_t valor  
   <chr>  <chr>                      <chr> <chr>   <chr> <chr>   <chr>  
 1 1      Continente                 1     H       T     Total   4714328
 2 200    Região Autónoma dos Açores 1     H       T     Total   121646 
 3 2      Região Autónoma dos Açores 1     H       T     Total   121646 
 4 20     Região Autónoma dos Açores 1     H       T     Total   121646 
 5 3      Região Autónoma da Madeira 1     H       T     Total   122046 
 6 300    Região Autónoma da Madeira 1     H       T     Total   122046 
 7 PT     Portugal                   1     H       T     Total   4958020
 8 30     Região Autónoma da Madeira 1     H       T     Total   122046 
 9 113    Ave                        1     H       T     Total   243784 
10 111    Minho-Lima                 1     H       T     Total   111804 
# … with 7,319 more rows
# ℹ Use `print(n = ...)` to see more rows
© www.soinside.com 2019 - 2024. All rights reserved.