我有TLSWL大约20,000行的数据框(称为)。我Time在df中有一列,我需要删除所有在特定分钟内结束的行。我只需要增加30分钟的时间即可匹配其他数据进行比较。
这是我目前正在使用的:
TLSWL<- TLSWL[TLSWL$Time != "0:06"&TLSWL$Time !="0:12"&TLSWL$Time
!="0:18"&TLSWL$Time !="0:24"&TLSWL$Time != "0:36"&TLSWL$Time
!="0:42"&TLSWL$Time !="0:48"&TLSWL$Time != "0:54"&TLSWL$Time
!= "1:06"&TLSWL$Time != "1:12"&TLSWL$Time != "1:18"&TLSWL$Time
!= "1:24"&TLSWL$Time != "1:36"&TLSWL$Time != "1:42"&TLSWL$Time
!= "1:48"&TLSWL$Time != "1:54"&TLSWL$Time != "2:06"&TLSWL$Time
!= "2:12"&TLSWL$Time != "2:18"&TLSWL$Time != "2:24"&TLSWL$Time
!= "2:36"&TLSWL$Time != "2:42"&TLSWL$Time != "2:48"&TLSWL$Time
!= "2:54"&TLSWL$Time != "3:06"&TLSWL$Time != "3:12"&TLSWL$Time
and so on all the way to the times in 24:xx
Run Code Online (Sandbox Code Playgroud)
它适用于较小的数据帧,而不是在军事时间,但是您可以看到以这种方式进行操作所需的代码行最终会变得很长。
可以更有效地做到这一点吗?
一种选择是创建一个vector需要匹配的值('v1'),用于%in%获取逻辑向量,取反(!)并对行进行子集化
TLSWL[!TLSWL$Time %in% v1, , drop = FALSE]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |