如何比较R数据框中的两列,并根据比较在第三列中返回0或1?

时间:2017-07-11 05:38:52

标签: r

我有一个包含两列(都是日期)和一百万行的数据框。我必须比较第三列中的日期和返回值。即如果A列中的日期大于B栏中的日期,则在C栏中返回1。

提前致谢:)

2 个答案:

答案 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]

也许你需要提供一个可重复的例子。