首页 > 解决方案 > Funs() 和相关错误

问题描述

我正在尝试在此处复制示例代码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))                             

标签: r

解决方案


您可以将mutate_all代码替换across为 -

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

推荐阅读