Есть несколько способов решения, но, делая небольшие изменения, я бы использовал bind_rows
из dplyr
:
readTweet <-function(url){
page <- read_html(url)
handles <- page %>%
html_nodes(".js-action-profile") %>%
html_text() %>%
sub(".*@", "", .)
text_new <- page %>%
html_nodes("p.TweetTextSize") %>%
html_text()
time <- page %>%
html_nodes("._timestamp") %>%
html_text()
all_data_tweet <- data.frame(
page = url,
author = handles,
text = text_new,
time = time
)
return(all_data_tweet)
}
df <- bind_rows(
lapply(list_of_urls, readTweet)
)
Вам не нужно создавать .id, так как у вас есть URL страницы в виде столбца.