【发布时间】:2022-01-07 10:38:30
【问题描述】:
我有一些数据,像这样
library(data.table)
data1 <- data.table(
id = c(seq(1:5)),
date = c(as.Date("2021-05-05"),as.Date("2021-05-04"),as.Date("2021-05-03"),as.Date("2021-05-02"),as.Date("2021-05-01")),
var = c(rep("var1",5))
)
data2 <- data.table(
id = c(seq(1:5)),
date = c(as.Date("2021-05-05"),as.Date("2020-05-04"),as.Date("2020-05-03"),as.Date("2020-05-02"),as.Date("2020-05-01")),
var = c(rep("var2",5))
)
data3 <- data.table(
id = c(seq(1:5)),
date = c(as.Date("2021-05-05"),as.Date("2020-07-04"),as.Date("2020-07-03"),as.Date("2020-07-02"),as.Date("2020-07-01")),
var = c(rep("var3",5))
)
data4 <- data.table(
id = c(seq(1:5)),
date = c(as.Date("2021-05-05"),as.Date("2020-07-04"),as.Date("2020-07-03"),as.Date("2020-07-02"),as.Date("2020-07-01")),
var = c(rep("var4",5))
)
data <- rbind(data1,data2,data3,data4)
data <- data[order(id)]
我想查找并保留那些唯一 ID(包括保留日期),其中 var1、var2 和 var3 的日期彼此相等。我不在乎var4。在上面的数据中,只有 id 1 符合这些条件,所以我想得到这样的结果:
data_final <- data.table(
id = 1,
date_var1 = as.Date("2021-05-05"),
date_var2 = as.Date("2021-05-05"),
date_var3 = as.Date("2021-05-05")
)
【问题讨论】:
标签: r data.table