我正在努力解决以下问题,希望你能帮我解决这个问题。
我使用函数从Spotify中获取日期范围内的所有图表数据。但是,该功能的输出并不能告诉您哪一天与返回的200首曲目相关联。我尝试添加列,但由于函数输出的长度和初始输入日期不同,这似乎不起作用。
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
输出为您提供:
{{1}}
(每天返回200首曲目)
我希望添加图表日期以及国家/地区代码。
我对R很新,所以对新手问题表示道歉 - 也尝试查找解决方案,但似乎没有任何效果。
非常感谢!
答案 0 :(得分:0)
您可以简化一些事情。您的日期不需要是列表 - 日期向量就足够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 package(v0.2.0)创建于2018-05-06。