首页 > 解决方案 > 将列添加到输出函数

问题描述

我正在努力解决以下问题,希望你能帮助我解决这个问题。

我正在使用一个函数从 Spotify 获取某个日期范围内的所有图表数据。但是,该函数的输出并没有告诉您哪一天与返回的 200 条轨道相关联。我尝试添加列,但由于函数输出的长度和输入的初始天数不同,这似乎不起作用。

datums <- seq(as.Date('2018-04-01'),as.Date('2018-05-05'),by = 1)
dates <- list(datums)

country <- rep(c('nl'), each = 30)


chart <- purrr::map2_df(country, dates, ~ spotifycharts::chart_top200_daily(.x, .y))

输出为您提供:

position track.name    artist          streams url                                                  
      <int> <chr>         <chr>             <int> <chr>                                                
 1        1 Sofiane       Boef             299735 https://open.spotify.com/track/7aK0LpCyxzN5K9pAP20MVC
 2        2 Beetje Moe    Kevin            220181 https://open.spotify.com/track/5ncYmvTAX7RbJSvoFGrSkv
 3        3 Lil Craney    Kraantje Pappie  185912 https://open.spotify.com/track/6mhojtIauujcoXxlGsihh1
 4        4 Drip          SFB              171255 https://open.spotify.com/track/7ulH79Yk90PkLsEjYjVyif
 5        5 God's Plan    Drake            158205 https://open.spotify.com/track/2XW4DbS6NddZxRPm5rMCeY

(每天返回 200 首曲目)

我希望添加图表日期以及国家代码。

我对 R 很陌生,所以为新手问题道歉 - 也尝试查找解决方案,但似乎没有任何效果。

非常感激!

标签: rmultiple-columnsspotify

解决方案


你可以简化一些事情。你的日期不需要是一个列表——一个日期向量就足够了map_df。如果国家保持不变,您也不需要国家名称列表或向量。在使用的函数中map,您会从 中获得一个数据框chart_top200_daily,您可以调用它mutate来添加您的日期列。

library(tidyverse)
library(spotifycharts)

datums <- seq(as.Date('2018-04-01'), as.Date('2018-05-05'), by = 1)
# dates <- list(datums)

chart <- map_df(datums, function(date) {
    chart_top200_daily("nl", date) %>%
        mutate(date = date)
})

chart
#> # A tibble: 7,000 x 6
#>    position track.name    artist          streams url           date      
#>       <int> <chr>         <chr>             <int> <chr>         <date>    
#>  1        1 Sofiane       Boef             299735 https://open… 2018-04-01
#>  2        2 Beetje Moe    Kevin            220181 https://open… 2018-04-01
#>  3        3 Lil Craney    Kraantje Pappie  185912 https://open… 2018-04-01
#>  4        4 Drip          SFB              171255 https://open… 2018-04-01
#>  5        5 God's Plan    Drake            158205 https://open… 2018-04-01
#>  6        6 Ze Willen Mee Hardwell         154086 https://open… 2018-04-01
#>  7        7 Catch Up      Josylvio         142023 https://open… 2018-04-01
#>  8        8 FRIENDS       Marshmello       140276 https://open… 2018-04-01
#>  9        9 Non Stop      Ronnie Flex      139419 https://open… 2018-04-01
#> 10       10 Fan           Ronnie Flex      132936 https://open… 2018-04-01
#> # ... with 6,990 more rows

reprex 包(v0.2.0)于 2018 年 5 月 6 日创建。


推荐阅读