payload: {"action":"created","issue":{"url":"https://api.github.com/repos/weecology/MATSS-pipeline/issues/65","repository_url":"https://api.github.com/repos/weecology/MATSS-pipeline","labels_url":"https://api.github.com/repos/weecology/MATSS-pipeline/issues/65/labels{/name}","comments_url":"https://api.github.com/repos/weecology/MATSS-pipeline/issues/65/comments","events_url":"https://api.github.com/repos/weecology/MATSS-pipeline/issues/65/events","html_url":"https://github.com/weecology/MATSS-pipeline/issues/65","id":409296475,"node_id":"MDU6SXNzdWU0MDkyOTY0NzU=","number":65,"title":"pipeline fails at analysis","user":{"login":"diazrenata","id":17818039,"node_id":"MDQ6VXNlcjE3ODE4MDM5","avatar_url":"https://avatars1.githubusercontent.com/u/17818039?v=4","gravatar_id":"","url":"https://api.github.com/users/diazrenata","html_url":"https://github.com/diazrenata","followers_url":"https://api.github.com/users/diazrenata/followers","following_url":"https://api.github.com/users/diazrenata/following{/other_user}","gists_url":"https://api.github.com/users/diazrenata/gists{/gist_id}","starred_url":"https://api.github.com/users/diazrenata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diazrenata/subscriptions","organizations_url":"https://api.github.com/users/diazrenata/orgs","repos_url":"https://api.github.com/users/diazrenata/repos","events_url":"https://api.github.com/users/diazrenata/events{/privacy}","received_events_url":"https://api.github.com/users/diazrenata/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2019-02-12T13:25:55Z","updated_at":"2019-02-12T15:55:31Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"I'm struggling to get the pipeline to run on my computer, using the most up-to-date version of `master`. (I'm working in rmd-debug-pipeline, but it's a copy of master at the moment). Here is the highest-level error:\r\n```\r\n> make(pipeline, cache = cache)\r\ntarget analysis\r\nfail analysis\r\nError: Target `analysis` failed. Call `diagnose(analysis)` for details. Error message:\r\n  could not find function \"fun\"\r\n```\r\n\r\nand what the `analysis` part of the pipeline looks like: \r\n\r\n```\r\n> pipeline[13, ]\r\n# A tibble: 1 x 3\r\n  target   command  transform                                            \r\n  <chr>    <chr>    <chr>                                                \r\n1 analysis fun(data) \"cross(fun = list(lda), data = list(portal_data, mai…\r\n```\r\n\r\nI've done some digging, but before going into an extended narrative of that, I think it would help a lot if somebody whose pipeline is working (@ha0ye?) could confirm that this is the correct type of content for `analysis`? Thanks!"},"comment":{"url":"https://api.github.com/repos/weecology/MATSS-pipeline/issues/comments/462815465","html_url":"https://github.com/weecology/MATSS-pipeline/issues/65#issuecomment-462815465","issue_url":"https://api.github.com/repos/weecology/MATSS-pipeline/issues/65","id":462815465,"node_id":"MDEyOklzc3VlQ29tbWVudDQ2MjgxNTQ2NQ==","user":{"login":"diazrenata","id":17818039,"node_id":"MDQ6VXNlcjE3ODE4MDM5","avatar_url":"https://avatars1.githubusercontent.com/u/17818039?v=4","gravatar_id":"","url":"https://api.github.com/users/diazrenata","html_url":"https://github.com/diazrenata","followers_url":"https://api.github.com/users/diazrenata/followers","following_url":"https://api.github.com/users/diazrenata/following{/other_user}","gists_url":"https://api.github.com/users/diazrenata/gists{/gist_id}","starred_url":"https://api.github.com/users/diazrenata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diazrenata/subscriptions","organizations_url":"https://api.github.com/users/diazrenata/orgs","repos_url":"https://api.github.com/users/diazrenata/repos","events_url":"https://api.github.com/users/diazrenata/events{/privacy}","received_events_url":"https://api.github.com/users/diazrenata/received_events","type":"User","site_admin":false},"created_at":"2019-02-12T15:55:31Z","updated_at":"2019-02-12T15:55:31Z","author_association":"CONTRIBUTOR","body":"Alas, no. It got rid of the warning message, but the rest of the output stayed the same. \r\n\r\nStepping through the code to make the `analysis` section, I get a couple of kinds of error:\r\n\r\n\r\n```\r\n analysis = target(fun(data),\r\n                      transform = cross(fun = !!rlang::syms(methods$target),\r\n                                        data = !!rlang::syms(datasets$target))\r\n)\r\n```\r\n\r\n1.  `rlang`: For example: \r\n```\r\n> fun_test = !!rlang::syms(methods$target)\r\nError in !rlang::syms(methods$target) : invalid argument type\r\ndata_test = !!rlang::syms(datasets$target)\r\n> data_test = !!rlang::syms(datasets$target)\r\nError in !rlang::syms(datasets$target) : invalid argument type\r\n```\r\nGoogling lead me to updating everything (R, all tidyverse packages, rlang), which didn't work. If I understand correctly, this line is trying to create lists `fun` and `data` (or in this case, `fun_test`) of all the things in `methods$target` and `datasets$target` but as symbols rather than strings-in-quotes. I can accomplish this if I remove the `!!`:\r\n```\r\n> fun_test = rlang::syms(methods$target)\r\n> data_test = rlang::syms(datasets$target)\r\n> fun_test\r\n[[1]]\r\nlda\r\n\r\n> data_test\r\n[[1]]\r\nportal_data\r\n\r\n[[2]]\r\nmaizuru_data\r\n```\r\n(cut off for length)\r\n\r\nI don't know if this is an OK solution or if the issue is specific to my setup? I'd explore further, but....\r\n\r\n1. `cross` This happens:\r\n```\r\n> transform = cross(rlang::syms(methods$target),\r\n+                   rlang::syms(datasets$target))\r\nError in cross(rlang::syms(methods$target), rlang::syms(datasets$target)) : \r\n  could not find function \"cross\"\r\n``` \r\nor\r\n```\r\n> transform = cross(fun_test,\r\n+                   data_test)\r\nError in cross(fun_test, data_test) : could not find function \"cross\"\r\n```\r\nWhich package is `cross` coming from in this case? \r\n\r\nI tried some detective work (see below) but am coming up confused. I think (rather than necessarily wading through what I've tried) it would help me if I could see what `analysis`, the `transform` pieces, and `results` look like when the pipeline is working properly? I.e. I'm not sure when the expansion is supposed to happen vs. passing around the command to do the expansion, if that makes sense...\r\n\r\n\r\n`cross` efforts (these don't lead to any resolution, so probably a good time for tl;dr):\r\nGoogling got me to `purrr::cross`, which doesn't work with this syntax: \r\n```\r\n> transform = purrr::cross(fun_test,\r\n+                   data_test)\r\nError in .l[[j]][[index]] : object of type 'symbol' is not subsettable\r\n```\r\nbut `purrr::cross2` does:\r\n```\r\n> transform = purrr::cross2(fun_test, data_test)\r\n> str(transform)\r\nList of 8\r\n $ :List of 2\r\n  ..$ : symbol lda\r\n  ..$ : symbol portal_data\r\n $ :List of 2\r\n  ..$ : symbol lda\r\n  ..$ : symbol maizuru_data\r\n``` \r\n(again cut off for length)\r\n\r\nAs I understand, this still isn't quite what we want. We want `transform` to be like \r\n```\r\n> transform_goal = list(list(fun = rlang::sym('lda'), data = rlang::sym('portal_data')))\r\n> str(transform_goal)\r\nList of 1\r\n $ :List of 2\r\n  ..$ fun : symbol lda\r\n  ..$ data: symbol portal_data\r\n```\r\nBut even this doesn't work, because `transform` is getting quoted as a string instead of evaluated and expanded to populate `analysis` or `analyses`.\r\n"}}
other: {"actor":{"display_login":"diazrenata"}}