【发布时间】:2021-11-09 17:30:16
【问题描述】:
我正在尝试从我的数据框中删除这些因素,但仅限于特定日期之后的因素。这里我做了一个玩具例子:
我有一个test 数据框和一个检查数据框inspec。我想删除出现在inspec 中的var1 中的字母,但只删除inspec 中日期之后的行。例如,考虑
> test = data.frame(var1 = c("A", "B", "A", "B", "C","B", "A"), measure = c(6,7,8,6,10,1,0), date = as.Date(c("2021-01-02", "2021-01-03", "2021-01-04", "2021-01-05", "2021-01-06", "2021-01-07", "2021-01-12")))
> test
var1 measure date
1 A 6 2021-01-02
2 B 7 2021-01-03
3 A 8 2021-01-04
4 B 6 2021-01-05
5 C 10 2021-01-06
6 B 1 2021-01-07
7 A 0 2021-01-12
>
> inspec = data.frame(var1 = c("A", "C", "D", "A"), date = as.Date(c("2021-01-03", "2021-01-06", "2021-01-10", "2021-01-12")))
> inspec
var1 date
1 A 2021-01-03
2 C 2021-01-06
3 D 2021-01-10
4 A 2021-01-12
那么,作为结果,我想得到:
> test
var1 measure date
1 A 6 2021-01-02
2 B 7 2021-01-03
3 B 6 2021-01-05
4 B 1 2021-01-07
请注意,只有在 inspec 数据框中指定的日期之后检查的 var1 中的 A 被排除在外。如果我不想在inspec 日期之前维护var1,我可以使用test= test[!(test$var1 %in% inspec$var1),]
任何提示我该怎么做?
【问题讨论】:
-
我读错了问题,认为如果日期早于
inspec,您想删除。