gpt4 book ai didi

r - dplyr if_else()与基准R ifelse()

转载 作者:行者123 更新时间:2023-12-03 15:18:53 27 4
gpt4 key购买 nike

我对Tidyverse相当精通,但始终使用ifelse()而不是dplyr if_else()。我想将此行为切换为默认值,以始终使用dplyr::if_else()并从代码中弃用ifelse()

有什么理由不这样做吗?这会给我带来麻烦吗?我将为您省去细节,但是最近,当我在数据分析中不知不觉中创建了一个字符矩阵列时,却不使用if_else()弄糟了我。如果我切换为始终使用if_else(),希望以后避免出现此问题。

最佳答案

if_else更严格。它检查两个选项是否具有相同的类型,否则将引发错误,而ifelse将根据需要提升类型。在某些情况下,这可能是一个好处,但如果您不检查错误或明确强制类型转换,则可能会破坏脚本。例如:

ifelse(c(TRUE,TRUE,FALSE),"a",3)
[1] "a" "a" "3"
if_else(c(TRUE,TRUE,FALSE),"a",3)
Error: `false` must be type character, not double

关于r - dplyr if_else()与基准R ifelse(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50646133/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com