0

Discogs API からデータを抽出するループ関数を作成しようとしています。関数「a」の作成から始めましたが、機能します。

releases <- list()
artists <- list()
artistURL <- "https://api.discogs.com/artists/"

a <- function(artistcode){
  for(i in 0:3){

  artistset <- fromJSON(paste0(artistURL, artistcode, "/releases?page=", i))
  message("Retrieving page ", i)

  releases[[i+1]] <- (as.data.frame(artistset$releases.main_release))
  artists[[i+1]] <- (as.data.frame(artistset$releases.artist ))
}
  return(artistset)
  message("Total rows=", dim(artistset[[2]])[1] )
}
x <- a(135872)

次に、この関数をループに追加して、データフレームに含まれる一連のアーティストのデータを次のように取得します。

artistdf <- structure(list(
    name = c("Hank Mobley", "Benny Green", "Oscar Peterson", "Art Tatum"), 
    artistcode = c(135872,96442, 254394, 265634)
), .Names = c("name", "artistcode"), row.names = c(NA,-5L), class = c("tbl_df", "tbl", "data.frame"))

for (j in 0:nrow(artistdf)){
    a(artistdf[[j+1, 2]])
}

これは、「範囲外」エラーが発生する場所です。デバッグのアドバイスをいくつか使用しましたが、役に立ちませんでした。誰でも解決策を提供できますか?

4

1 に答える 1