Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

don't alphabetise "mapped" targets #786

Closed
kendonB opened this issue Mar 19, 2019 · 1 comment
Closed

don't alphabetise "mapped" targets #786

kendonB opened this issue Mar 19, 2019 · 1 comment

Comments

@kendonB
Copy link
Contributor

kendonB commented Mar 19, 2019

I think these should just retain the order of whatever the mapping variable is. See below for counterintuitive behavior (numbers don't match in the third stage).

library(drake)
library(tidyverse)
drake_plan(
  data = target(
    get_data1(param),
    transform = map(param = c(1,2,3,4,5,6,7,8,9,10,11))
  ),
  results = target(
    get_results(data),
    transform = map(data)
  ),
  more = target(
    get_more(data, results),
    transform = map(data, results)
  )
) %>% 
  print(n=33)
#> # A tibble: 33 x 2
#>    target                      command                            
#>    <chr>                       <expr>                             
#>  1 data_1                      "get_data1(1)                     "
#>  2 data_2                      "get_data1(2)                     "
#>  3 data_3                      "get_data1(3)                     "
#>  4 data_4                      "get_data1(4)                     "
#>  5 data_5                      "get_data1(5)                     "
#>  6 data_6                      "get_data1(6)                     "
#>  7 data_7                      "get_data1(7)                     "
#>  8 data_8                      "get_data1(8)                     "
#>  9 data_9                      "get_data1(9)                     "
#> 10 data_10                     "get_data1(10)                    "
#> 11 data_11                     "get_data1(11)                    "
#> 12 results_data_1              "get_results(data_1)              "
#> 13 results_data_10             "get_results(data_10)             "
#> 14 results_data_11             "get_results(data_11)             "
#> 15 results_data_2              "get_results(data_2)              "
#> 16 results_data_3              "get_results(data_3)              "
#> 17 results_data_4              "get_results(data_4)              "
#> 18 results_data_5              "get_results(data_5)              "
#> 19 results_data_6              "get_results(data_6)              "
#> 20 results_data_7              "get_results(data_7)              "
#> 21 results_data_8              "get_results(data_8)              "
#> 22 results_data_9              "get_results(data_9)              "
#> 23 more_data_1_results_data_1  "get_more(data_1, results_data_1) "
#> 24 more_data_10_results_data_8 get_more(data_10, results_data_8)  
#> 25 more_data_11_results_data_9 get_more(data_11, results_data_9)  
#> 26 more_data_2_results_data_10 get_more(data_2, results_data_10)  
#> 27 more_data_3_results_data_11 get_more(data_3, results_data_11)  
#> 28 more_data_4_results_data_2  "get_more(data_4, results_data_2) "
#> 29 more_data_5_results_data_3  "get_more(data_5, results_data_3) "
#> 30 more_data_6_results_data_4  "get_more(data_6, results_data_4) "
#> 31 more_data_7_results_data_5  "get_more(data_7, results_data_5) "
#> 32 more_data_8_results_data_6  "get_more(data_8, results_data_6) "
#> 33 more_data_9_results_data_7  "get_more(data_9, results_data_7) "

Created on 2019-03-19 by the reprex package (v0.2.0.9000).

@wlandau
Copy link
Collaborator

wlandau commented Mar 19, 2019

Thanks, @kendonB. merge(sort = FALSE) in dsl_left_outer_join() fixed the problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants