Запишите все элементы из списка в вектор символов из запроса GET httr

Я пытаюсь извлечь данные из запроса GET и проанализировать его, как показано ниже:

# Function to get details from all experiments
getData<- function()
{
  server_url <- "http://127.0.0.1:5000/experiments"
  r <- GET(url = server_url, verbose())
  return(r)
}

# Get all experiments
x <- getData()

# Retrieve content and parse for processing
y <- content(x, "parsed")

Вывод выглядит следующим образом, то есть один список, содержащий все 17 экспериментов.

> y
$experiments
$experiments[[1]]
$experiments[[1]]$end
NULL

$experiments[[1]]$id
[1] 1

$experiments[[1]]$name
[1] "reprehenderit"

$experiments[[1]]$start
[1] "Mon, 30 Mar 2015 17:29:13 GMT"


$experiments[[2]]
$experiments[[2]]$end
NULL

$experiments[[2]]$id
[1] 2

$experiments[[2]]$name
[1] "explicabo"

$experiments[[2]]$start
[1] "Mon, 30 Mar 2015 17:29:44 GMT"

.......

$experiments[[17]]
$experiments[[17]]$end
NULL

$experiments[[17]]$id
[1] 17

$experiments[[17]]$name
[1] "dsagfsdzg"

$experiments[[17]]$start
[1] "Wed, 01 Apr 2015 01:45:01 GMT"

Я хочу извлечь 17 элементов «имя» из этого списка элементов в один вектор символов (сделал это вручную для первых двух элементов).

z <- c(unlist(y[[1]][1])["name"], unlist(y[[1]][2])["name"])
z

           name            name 
"reprehenderit"     "explicabo" 

Может ли кто-нибудь помочь мне автоматизировать вышеизложенное? Есть ли простой способ извлечь это из запроса GET?


person user4687531    schedule 02.04.2015    source источник


Ответы (1)


Вы можете использовать sapply поверх y[[1]], который является вектором списков, в соответствии с вашим кодом выше:

> names <- sapply(y[[1]], function(x) x["name"])
> names
[1] "reprehenderit" "explicabo" ... "dsagfsdzg"
person Tim Biegeleisen    schedule 02.04.2015