dplyr 1.1.0中mutate结合across设置factor层级的新语法咨询
解决dplyr 1.1.0+中across()参数弃用的改写方法
针对你遇到的dplyr版本更新导致的警告,以下两种写法可以替代原有代码,正确设置factor层级:
用波浪线
~创建匿名函数(推荐写法,更简洁):mort %>% mutate(across(lifestage, ~factor(., levels = c("postlarvae", "larvae", "adult"))))这里的
.代表across正在处理的lifestage列,直接把levels参数传递给factor函数。用显式匿名函数写法:
mort %>% mutate(across(lifestage, function(x) factor(x, levels = c("postlarvae", "larvae", "adult"))))这种写法更直白,通过定义接收列值
x的函数,在内部完成factor层级设置。
两种写法都能消除dplyr 1.1.0及以上版本的弃用警告,同时实现原代码的功能。
内容的提问来源于stack exchange,提问作者Salvador
相关产品推荐
相关产品推荐

