2017-01-21 2 views
0

Ich versuche, eine Datei basierend auf den Werten in den Zeilen eines data_frame herunterladen. Hier ist, was die data_frame wie folgt aussieht:dplyr: Herunterladen einer Datei basierend auf den Werten in jeder Zeile eines Datenrahmens

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

Hier ist ein Versuch, by_row aus dem purrr Paket mit, das funktioniert nicht.

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

Ich habe auch versucht, invoke_rows (map_rows). Jede Lösung, die in Rohren funktionieren würde, würde geschätzt werden.

Antwort

1

Mit rowwise:

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

Aber brauchen Sie wirklich dplyr?

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

Ich denke, Sie haben Recht - danke für die Bereitstellung beider Versionen. – tchakravarty

Verwandte Themen