我有一个包含两列(都是日期)和一百万行的数据框。我必须比较第三列中的日期和返回值。即如果A列中的日期大于B栏中的日期,则在C栏中返回1。
提前致谢:)
答案 0 :(得分:1)
在base
:
DF$C <- as.numeric(DF$A > DF$B)
在dplyr
:
DF %>%
mutate(C = as.numeric(A > B))
答案 1 :(得分:0)
library(data.table)
dt <- as.data.table(dt)
dt$A <- as.Date(dt$A)
dt$B <- as.Date(dt$B)
您可以尝试以下两种方式:
dt[, C := ifelse(A > B, 1, 0)]
或
dt[, C := 0][A > B, C := 1]
第二种方式,您可以通过检查哪个障碍物更改为dt[, C := 1][A <= B, C := 0]
。
也许你需要提供一个可重复的例子。