将列添加到输出函数
Add column to output function
我正在努力解决以下问题,希望你能帮助我解决这个问题。
我正在使用一个函数从 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
(每天 returns 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 package (v0.2.0) 创建于 2018-05-06。
我正在努力解决以下问题,希望你能帮助我解决这个问题。
我正在使用一个函数从 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
(每天 returns 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 package (v0.2.0) 创建于 2018-05-06。