首页 > 解决方案 > 如何从带有数字指示的列表中获取R中的数据框

问题描述

如何将以下列表转换为数据框?我曾尝试使用 data.frame,但我得到了一个包含 1 个对象的数据框以及该对象行中的所有信息。

有没有办法捕获数字,以便我每行(两行,每页一个)和正确的标签(下面的第二个列表)获得正确的数据?

[[1]]
[[1]][[1]]
[1] "https://page1"

[[1]][[2]]
[1] 4534

[[1]][[3]]
[1] 3453

[[1]][[4]]
[1] 2343

[[1]][[5]]
[1] 0.2806075

[[1]][[6]]
[1] 0.4386998


[[2]]
[[2]][[1]]
[1] "https://page2"

[[2]][[2]]
[1] 9166

[[2]][[3]]
[1] 6294

[[2]][[4]]
[1] 698

[[2]][[5]]
[1] 0.1489971

[[2]][[6]]
[1] 0.1963775

list number two:

$columns
$columns[[1]]
[1] "event_url"

$columns[[2]]
[1] "page_views"

$columns[[3]]
[1] "unique_page_views"

$columns[[4]]
[1] "entries"

$columns[[5]]
[1] "bounce_rate_events"

$columns[[6]]
[1] "exit_rate"

标签: rlistdataframe

解决方案


你可以这样做:

do.call(rbind, lapply(list1, function(x) setNames(as.data.frame(x), unlist(list2))))
#>       event_url page_views unique_page_views entries bounce_rate_events exit_rate
#> 1 https://page1       4534              3453    2343          0.2806075 0.4386998
#> 2 https://page2       9166              6294     698          0.1489971 0.1963775

数据

list1 <- list(
  list("https://page1", 4534, 3453, 2343, 0.2806075, 0.4386998),
  list("https://page2", 9166, 6294, 698, 0.1489971, 0.1963775))

list2 <- list(columns = list("event_url", "page_views",
                             "unique_page_views", "entries",
                             "bounce_rate_events", "exit_rate"))

推荐阅读