根据匹配日期合并到数据集

Merge to dataset according to matching dates

我有 2 个时间序列数据集。

在数据集 1 中,有 3 列:Dateprice changesvolume。 1056 行按从 01-01-200531-12-2015 的日期排序。

在数据集 2 中,有 3 列:Dateprice changesvolume。 1028 行按从 01-01-200531-12-2015 的日期排序。 但只有 1028行,因为缺少数据(即缺少行)。

我想在数据集 1 中删除数据集 2 中没有出现的日期行。

我已经试过了,但没有用:

dataset1[!rownames(dataset1) %in% dataset2$Date, ]

输出有 1056 行,因此不会删除任何内容。

你只需要做dataset1[dataset1$Date %in% dataset2$Date, ]:

set.seed(1)
d1 <- as.Date('2015-01-01') + 0:10
x <- sample(1:10, 11, replace = TRUE)
df1 <- data.frame(d1, x)
           d1  x
1  2015-01-01  3
2  2015-01-02  4
3  2015-01-03  6
4  2015-01-04 10
5  2015-01-05  3
6  2015-01-06  9
7  2015-01-07 10
8  2015-01-08  7
9  2015-01-09  7
10 2015-01-10  1
11 2015-01-11  3
d2 <- as.Date('2015-01-01') + seq(0, 10, 3)
y <- sample(1:10, 4)
df2 <- data.frame(d2, y)
df1[df1$d1 %in% df2$d2, ]
           d1  x
1  2015-01-01  3
4  2015-01-04 10
7  2015-01-07 10
10 2015-01-10  1