Well, this reprex is specific to the test data, but may help point you in the right direction if tidier data is not possible
library(purrr)
test_data <- structure(list(duration = c(2624L, 3374L, 901L),
precincts = list(structure(list(),
.Names = character(0),
row.names = integer(0),
class = "data.frame"),
structure(list(smartzoneName = c("Loc 1", "Loc 2",
"Loc 1", "Loc 2", "Loc 1"),
duration = c(264L, 1329L, 968L, 474L, 359L),
timestamp = c(1545522428000, 1545522692000,
1545524021000, 1545524989000, 1545525463000),
smartzoneId = c(275L, 251L, 275L, 251L, 275L)),
class = "data.frame",
row.names = c(NA, 5L)), list())),
row.names = c(NA, -3L),
class = "data.frame")
test_data %>% pluck(2)[2]
#> [[1]]
#> smartzoneName duration timestamp smartzoneId
#> 1 Loc 1 264 1.545522e+12 275
#> 2 Loc 2 1329 1.545523e+12 251
#> 3 Loc 1 968 1.545524e+12 275
#> 4 Loc 2 474 1.545525e+12 251
#> 5 Loc 1 359 1.545525e+12 275
Created on 2019-01-10 by the reprex package (v0.2.1)