R 如何计算第2列和第4列之间的时间差,但在某些情况下,第3列和第4列之间的时间差

R 如何计算第2列和第4列之间的时间差,但在某些情况下,第3列和第4列之间的时间差,r,time,R,Time,如何计算以下问题的时差: 资料 n1我们可以使用ifelse功能: date$newcol <- ifelse(date$n1 == "yes", difftime(date$n3, date$n2, units = "secs"), difftime(date$n4, date$n3, units = "secs")) 这是可行的,但是

如何计算以下问题的时差:

资料
n1我们可以使用
ifelse
功能:

date$newcol <- ifelse(date$n1 == "yes", 
                      difftime(date$n3, date$n2, units = "secs"), 
                      difftime(date$n4, date$n3, units = "secs"))

这是可行的,但是你知道一个基于管道的解决方案吗?是的。请参见编辑
date$newcol <- ifelse(date$n1 == "yes", 
                      difftime(date$n3, date$n2, units = "secs"), 
                      difftime(date$n4, date$n3, units = "secs"))
library(dplyr)
date %>%
    mutate(newcol = ifelse(n1 == "yes", 
                           difftime(n3, n2, units = "secs"), 
                           difftime(n4, n3, units = "secs")))