r - 将列添加到输出函数
问题描述
我正在努力解决以下问题,希望你能帮助我解决这个问题。
我正在使用一个函数从 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 很陌生,所以为新手问题道歉 - 也尝试查找解决方案,但似乎没有任何效果。
非常感激!
解决方案
你可以简化一些事情。你的日期不需要是一个列表——一个日期向量就足够了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 日创建。
推荐阅读
- python - 扫描所有连接到特定 WIFI 的客户端
- python - 如何将 yaml 字符串插入到 yaml 值中,就好像它是 yaml
- git - 如何使用您的 git 存储库设置 Dockerfile?
- python - 如何使用两个数据框计算丢失的数据?
- javascript - SetTimeout 并在没有 Promise 的情况下返回
- sql - 在 Redshift 中创建函数以刷新所有物化视图
- python - 创建新的列按年计算性别
- javascript - 使用 Javascript 替换文本字符串中的某些阿拉伯语单词
- javascript - 如何修改给定的 rxjs 函数?
- r - R脚本不将列分成单独的图