R 从数据帧中提取特殊行

R 从数据帧中提取特殊行,r,dataframe,R,Dataframe,我有这样一个数据帧: auftreten_Fehler Diff_Fehler auftreten_Warnung Diff_Warnung 1 2016-08-10 17:35:25 207.0000 2016-08-10 17:08:56 207.0000 2 2016-08-29 19:16:10 226.0000 2016-08-29 19:15:48 226.0000 3 2016-08-30 19:38:28 234.0000 2016

我有这样一个数据帧:

     auftreten_Fehler Diff_Fehler   auftreten_Warnung Diff_Warnung
1 2016-08-10 17:35:25    207.0000 2016-08-10 17:08:56     207.0000
2 2016-08-29 19:16:10    226.0000 2016-08-29 19:15:48     226.0000
3 2016-08-30 19:38:28    234.0000 2016-08-30 19:38:24     234.0000
4 2016-10-22 00:30:20    204.3333 2016-10-20 20:05:11     224.0000
5 2016-10-26 19:19:42    234.0000 2016-10-26 19:16:27     234.0000
6 2016-10-27 15:31:44    235.0000 2016-10-27 05:21:46     235.0000
7 2016-10-28 10:39:28    204.3333 2016-10-28 10:39:24     204.3333
8 2016-11-07 19:12:26    207.0000 2016-11-07 19:12:18     207.0000
9 2016-11-16 11:14:51    204.3333 2016-11-11 09:18:46     213.0000
我只想显示具有此条件的行:

k<-(FehlerWarnung[i,]$auftreten_Fehler - FehlerWarnung[i,]$auftreten_Warnung)
units(k)<-"mins" 
if(k<2)  #Show only rows if the difference is less than two minuts
如何在一行代码中使用△pply`或其他东西来完成这项工作?

使用difftime一步完成时差计算,然后像这样直接为行编制索引

FehlerWarnung[difftime(FehlerWarnung$auftreten_Fehler, FehlerWarnung$auftreten_Warnung, units='mins') < 2,]

对德语单词不太熟悉,所以用你的语言创建了一个虚拟dta。对不起

时间起作用。您还可以指定想要的差值单位默认为秒

df
                    a                   b
1 2016-08-10 17:35:25 2016-08-10 17:08:56
2 2016-08-29 19:16:10 2016-08-29 19:15:48
3 2016-08-30 19:38:28 2016-08-30 19:38:24  

#difftime(df$a, df$b)
#Time differences in secs
#[1] 1589   22    4


df[difftime(df$a, df$b)>120,]

将时间列转换为日期,并将difftime与mins Arguments一起使用。为什么加载lubridate?@Sotos只是为了确保格式正确。没有添加代码。谢谢,这是非常不必要的。我们有来自基地的as.Date或as.POSIXct。使用lubridate进行此转换的优势是什么?已接受。只是我喜欢这个包裹的习惯。代码删除