2017-01-21 1 views
0

Я пытаюсь загрузить файл на основе значений в строках data_frame. Вот что data_frame выглядит следующим образом:dplyr: Загрузка файла на основе значений в каждой строке data_frame

df_foo = data_frame(
    input_id = 1:10, 
    file_name_id = 20:30 
) 

Вот попытка использования by_row из purrr пакета, который не работает.

df_foo %>% 
    by_row(
    .f = download.file, 
    url = paste0("http://foobar.com/id=", input_id), 
    destfile = paste0("file number", file_name_id, ".txt") 
) 

Я также попытался invoke_rows (map_rows). Любое решение, которое будет работать в трубах, будет оценено по достоинству.

ответ

1

С rowwise:

df_foo %>% 
    rowwise %>% 
    do(f=download.file(paste0("http://example.com/id=", .$input_id), 
         paste0("file_", .$filename_id))) 

Но вам действительно нужно dplyr?

mapply(download.file, paste0("http://example.com/id=", df_foo$input_id), 
         paste0("file_", df_foo$filename_id)) 
+0

Я думаю, вы правы - спасибо за предоставление обеих версий. – tchakravarty

 Смежные вопросы

  • Нет связанных вопросов^_^