问题描述
大家晚上好! 我想对R中的日期进行比较。 我有2个数据集,maint.csv和failures.csv:
> str(maint)
'data.frame': 3286 obs. of 3 variables:
$ datetime : POSIXct,format: "2014-06-01 06:00:00" "2014-07-16 06:00:00" "2014-07-31 06:00:00" ...
$ machineID: int 1 1 1 1 1 1 1 1 1 1 ...
$ comp : Factor w/ 4 levels "comp1","comp2",..: 2 4 3 1 4 1 3 1 4 3 ...
和
> str(failures)
'data.frame': 761 obs. of 3 variables:
$ datetime : POSIXct,format: "2015-01-05 06:00:00" "2015-03-06 06:00:00" "2015-04-20 06:00:00" ...
$ machineID: int 1 1 1 1 1 1 1 2 2 2 ...
$ failure : Factor w/ 4 levels "comp1",..: 4 1 2 4 4 2 4 1 2 2 ...
您可以看到两个日期时间均为POSIX格式。现在,761行failures.csv类似于maint.csv 3286行的子集,从某种意义上说,几乎所有故障观察都来自maint文件,但其中有些行不存在maint.csv 我想构建一个for循环,该循环只打印出现故障的行,而不打印维护行的行 我能怎么做?我从未在R中使用过if-else,尤其是我不知道如何比较日期。 谢谢。
解决方法
我可以在网络上找到您正在使用的数据集...
我认为您可以使用@Repository
public interface EntityRepo extends JpaRepository<Entity,Long> {
Entity findByMyColumn(List<String> myColumn);
}
来实现它,如下所示:
%in%
以下是输出:
# setup environment
library(dplyr)
# filter only when datetime does not match
filter_failures = filter(failures,!datetime %in% maint$datetime)
# print the dataframe
head(filter_failures)
让我知道这是否是您想要的。