小编fis*_*mno的帖子

了解 if_else 语句的语法差异

我对 if_else 语句很陌生,我想知道是否有人可以帮助我理解我同事的一些代码的含义(他们不再在我所在的地方工作)。我使用 if_else 语句来识别/标记来自一组记录器部署的温度数据(即,我不希望在检索数据后或在检索和下一次部署之间记录数据等)。有些已部署和检索一次(在我的示例中为 B),有些已部署两次(在我的示例中为 A 和 C)。

以下是对数据集 (df) 的总体了解:

温度 日期时间日志 部署_1 部署_2 检索_1 检索_2 记录器
3.7 约会时间 约会时间 约会时间 约会时间 约会时间 A
3.6 约会时间 约会时间 约会时间 约会时间 约会时间 A
3.4 约会时间 约会时间 约会时间 约会时间 约会时间 A
3.1 约会时间 约会时间 约会时间
1.5 约会时间 约会时间 约会时间
1.5 约会时间 约会时间 约会时间 约会时间 约会时间 C

我正在研究另一位同事的一些旧代码,并且想知道这两个语句“说”了什么,或者它们的含义是什么。

  1. df$flag1 <- if_else(is.na(df$deploy_2),0,if_else(df$Datetime_log>retrieve_1 & df$Datetime_log<deploy_2,1,0))

    我假设上面的意思是:如果deploy_2是NA,则将其分配为0,但如果不是,并且Datetime_log>retrieve_1&<deploy_2,则将其分配为1。

  2. df$flag2 <- if_else(is.na(df$deploy_2), if_else(df$Datetime_log>df$retrieve_1, 1,0),0)

    我假设上面的意思是:如果deploy_2是NA,则将其分配为0,但如果不是,并且Datetime_log>retrieve_1,则将其分配为1?

我对“0”的位置也很困惑。与第一个语句中一样,0 被放置在第一个 if_else 之后,而在第二个语句中,0 被放置在整个语句的末尾。

请,如果有人可以纠正我或帮助我,我将非常感激!只是寻找有人非常清楚地阐明如何阅读这些陈述。这将帮助我制作额外的过滤器。提前非常感谢!

if-statement r dplyr

0
推荐指数
1
解决办法
71
查看次数

标签 统计

dplyr ×1

if-statement ×1

r ×1