Забавы() и связанные с ними ошибки

#r

Вопрос:

Я пытаюсь воспроизвести пример кода здесь https://garberadamc.github.io/project-site/Lab8-Intro-mixture

Однако у меня возникла проблема с самым первым шагом, я знаю, что функция funs() устарела, как и функция mutate_all. Я попытался заменить funs() на list и mutate_all на mutate_across, и мне не удалось заставить работать первые несколько строк кода. Я действительно даже не понимаю, что делает эта строка кода. Не мог бы кто-нибудь, пожалуйста, объяснить и предложить альтернативу?

 data(cheating)
cheating <- cheating %>% clean_names() 

df_cheat <-  cheating %>%                                  
 dplyr::select(1:4) %>%                                   
 dplyr::mutate_all(funs(.-1))                             
 

Ответ №1:

Вы можете заменить mutate_all код на across as —

 library(dplyr)

cheating %>%                     
  dplyr::select(1:4) %>%         
  dplyr::mutate_all(funs(.-1)) -> res1

cheating %>%
  dplyr::select(1:4) %>%
  dplyr::mutate(across(.fns = ~. - 1)) -> res2

identical(res1, res2)
#[1] TRUE