如果函数具有多个条件

时间:2019-06-26 12:37:27

标签: r if-statement apply sapply

我需要检查数据框中两个条件的两列中的每一行(基本上,我是从另一对列中的每一行中减去一对列中的每一行以获得两个特定值(其中一个是时间间隔),请参见代码)。如果两个条件都满足,则预期结果是另一列为1,否则为0。

我尝试过:

sapply(trades1, function(x) x$indicator3 <- x %>% ifelse(indicator2 - indicator == -1 & difftime(date2, date, units = "min"== 1), 1, 0))

这给了我

 Error in ifelse(., indicator2 - indicator == -1 & difftime(date2, date,  : 
  unused argument (0) 

1 个答案:

答案 0 :(得分:2)

假设trades1是一个data.frame`,我们可能需要

with(x, as.integer(((indicator2 - indicator) == -1) & 
     (difftime(date2, date, units = "min")== 1)))

确保括号difftime闭合