我创建了一个简单的脚本来收集Youtube频道的统计信息。只是想知道我如何循环浏览频道ID的列表,而不必每次手动更改频道ID,然后重新运行脚本?我很难理解如何在R.中编写循环
key <- 'MyKey'
channel_id1 <- 'UCLSWNf28X3mVTxTT3_nLCcw'
url <- 'https://www.googleapis.com/youtube/v3/channels?part=statistics'
y <- paste0(url,'&id=',channel_id1,'&key=',key)
yt_channel1 <- fromJSON(txt=y)
yt_d_channel1 <- as.data.frame(do.call(c, unlist(yt_channel1, recursive=FALSE)))
有什么方法可以将所有感兴趣的通道ID存储在列表或向量中,然后在它们之间循环,将结果存储到新的或相同的数据帧中?
即
channels <- c('UCLSWNf28X3mVTxTT3_nLCcw', 'UCLSW467236VTxTT3_nLCcw', UHJKHS328787_ndncp')
for i 1:3, {
channels...
do stuff
}
非常感谢您的帮助。
是的,将通道ID存储在数据帧的一列中。假设您有一个名为my_data_frame
的数据帧,其中列ID
包含ID,那么您可以循环遍历ID,如下所示:
key <- 'MyKey'
url <- 'https://www.googleapis.com/youtube/v3/channels?part=statistics'
for(i in 1:nrow(my_data_frame)){
y <- paste0(url,'&id=',my_data_frame$ID[i],'&key=',key)
yt_channel1 <- fromJSON(txt=y)
yt_d_channel1 <- as.data.frame(do.call(c, unlist(yt_channel1, recursive=FALSE)))
}
请注意ID是如何使用索引i
引用的,该索引将从1计数到数据帧中的行数。
请注意,此代码将不起作用,因为您需要想出一种存储结果的方法。