[英]Function that iterates through list to create different objects
我目前已经编写了一个函数,在该函数中我将单独浏览多个 twitter 句柄并根据该 twitter 用户的姓氏命名一个对象。 例如:
f <- function() {
dougjones <- rtweet::get_timeline('@SenDougJones', n = 50, max_id = NULL, home = FALSE, parse = TRUE, check = FALSE, token = token, include_rts = FALSE)
bennet <- rtweet::get_timeline('@SenatorBennet', n = 50, max_id = NULL, home = FALSE, parse = TRUE, check = FALSE, token = token, include_rts = FALSE)
blumenthal <- rtweet::get_timeline('@SenBlumenthal', n = 50, max_id = NULL, home = FALSE, parse = TRUE, check = FALSE, token = token, include_rts = FALSE)
}
我想通过创建用户姓氏和他们的 twitter 句柄列表来简化这一点,以创建一些看起来像这样的代码(如果代码工作正常)
list <- list(
handles(handle =
tibble(c('@SenDougJones','@SenatorBennet','@SenBlumenthal')),
names(name = tibble(c('Jones','Bennet','Blumenthal')))
f <- function(list){
for(i in seq_along(list$handles)){
for(j in seq_along(list$names)){
names[[j]] <- rtweet::get_timelines(list$handles[[i]],n=50,max_id=NULL,home=FALSE,parse=TRUE, check = FALSE, token = token,include_rts=FALSE) }}}
我知道这段代码是错误的,因为我在运行它时得到 NULL。 我想知道我将如何去做这件事。 基本上我希望做的是通过 get_timeline() 函数迭代地输入 twitter 句柄,并根据用户的姓氏命名每次迭代中的对象。
我对使用循环有点陌生,所以我不知道这是语法问题还是什么,但我希望你们都能提出建议。 我该怎么做才能得到这个结果?
我不知道您到底在寻找什么,但以下内容应该可以解决问题。
last.names <- c('Jones','Bennet','Blumenthal')
twitter.handles <- c('@SenDougJones','@SenatorBennet','@SenBlumenthal')
my.list <- list(last.names = last.names,
twitter.handles = twitter.handles,
indexes = seq_along(last.names))
my.list$twitter.timeline <- lapply(my.list$indexes,
FUN = function(index) {
print(paste(my.list$last.names[[index]], my.list$twitter.handles[[index]], sep = ";"))
twitter.timeline <- rtweet::get_timelines(my.list$twitter.handles[[index]],
n=50,
max_id=NULL,
home=FALSE,
parse=TRUE,
check = FALSE,
token = token,
include_rts=FALSE)
return(twitter.timeline)
})
哼!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.