下記のリンク先に示されていたスクリプトを参考に、ジャンル(genre)ごとに50曲ずつ曲名を取得してジャンル名とともにデータフレームにまとめようとしたところ、以下のエラーメッセージが発生しました。ご一考頂けますと幸いです。
(引用元:リンク内容)
エラーメッセージ
Error : object 'res' not found
該当のソースコード
R
1 genres <- RETRY('GET', url = 'https://api.spotify.com/v1/recommendations/available-genre-seeds', query = list(access_token = get_spotify_access_token(), limit=150), quiet = TRUE) %>% content() 2 3 m <- do.call(rbind,lapply(genres$genre, function(x) if(is.null(x)) NA else c(x))) 4 genres_df <- as.data.frame(m) 5 6 colnames(genres_df) <- c("genre") 7 8 get_genre_track <- function(genre){ 9 track_check <- RETRY('GET', url = paste0("https://api.spotify.com/v1/search?query=genre%3A",genre), query = list(type="track",limit = 50, offset = 0, access_token = get_spotify_access_token()), quiet = TRUE) %>% content() 10 11 track_count <- 50 12 13 df <- map_df(1:length(res$tracks$items), function(this_row) { 14 tryCatch({ 15 this_track <- res$tracks$items[[this_row]] 16 name <- this_track$name 17 genre <- genre 18 list(name = name, genre = genre) 19 }, error = function(e){ 20 NULL 21 }) 22 }) 23 } 24 tracks_df <- lapply(genres_df$genre, get_genre_track) %>% bind_rows() 25 tracks_df 26}
試したこと
ソースコード中のresを消去したところ、unexpected '$'と表示されました。さらに$を消すと、今度はobject 'tracks' not foundと表示されました。
補足情報(FW/ツールのバージョンなど)
必要なライブラリのインストールやユーザー情報は省略しています。
環境:Exploratory Public,言語:R
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/05 09:38 編集