Попытка inner_join внутри функции dplyr do

Если объявление функции не имеет параметров, то есть пустых, то оно принимает неопределенное количество аргументов. Если вы хотите, чтобы он не принимал никаких аргументов, измените его на:

int func(void);
0
задан drmariod 8 March 2019 в 10:36
поделиться

2 ответа

Проблема заключается в использовании точки в качестве левой части оператора трубопровода, документация %>% гласит:

Использование метки в качестве lhs Когда точка используется как lhs, результат будет функциональной последовательностью, то есть функцией, которая применяет всю цепочку правых частей по очереди к своему вводу. Смотрите примеры.

Они даже предоставляют пример:

# Building unary functions with %>%
trig_fest <- . %>% tan %>% cos %>% sin

Таким образом, в основном вы предоставляете функцию в качестве ввода для paste

0
ответ дан DS_UNI 8 March 2019 в 10:36
поделиться

Попробуйте это:

df1 %>%
  group_by(cat, cl) %>%
  do(ids=paste(  inner_join(.,df2) %>%
                 dplyr::pull(id), collapse=';'))

Не совсем точно, почему это работает, но это так.

0
ответ дан Rohit 8 March 2019 в 10:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: