【问题标题】:How to get from list with indication in numbers to data frame in R如何从带有数字指示的列表中获取R中的数据框
【发布时间】:2020-12-04 05:21:37
【问题描述】:

如何将以下列表转换为数据框?我曾尝试使用 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"

【问题讨论】:

    标签: r list dataframe


    【解决方案1】:

    你可以这样做:

    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"))
    

    【讨论】:

      【解决方案2】:

      使用tidyverse

      library(dplyr)
      library(purrr)
      map_dfr(list1, bind_cols) %>% 
                  set_names(unlist(list2))
      

      -输出

      # A tibble: 2 x 6
      #  event_url     page_views unique_page_views entries bounce_rate_events exit_rate
      #  <chr>              <dbl>             <dbl>   <dbl>              <dbl>     <dbl>
      #1 https://page1       4534              3453    2343              0.281     0.439
      #2 https://page2       9166              6294     698              0.149     0.196
      

      【讨论】:

        猜你喜欢
        • 2015-04-03
        • 2021-08-27
        • 2022-01-26
        • 2017-01-25
        • 2021-05-14
        • 1970-01-01
        • 2020-08-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多