gpt4 book ai didi

r - R 中是否有一个函数可以删除给定特定内容的数千行?

转载 作者:行者123 更新时间:2023-12-05 01:37:24 26 4
gpt4 key购买 nike

我有一个大约有 20,000 行的数据框(称为 TLSWL)。我在 df 中有一列 Time,我需要删除在特定分钟内结束的所有行。我只需要 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

它适用于较小且不适用于军事时间的数据帧,但如您所见,这样做所需的代码行最终变得太长了。

这可以更有效地完成吗?

最佳答案

一个选项是创建一个需要匹配的值的向量('v1'),使用%in%得到一个逻辑向量,求反( !) 和子集行

TLSWL[!TLSWL$Time %in% v1, , drop = FALSE]

关于r - R 中是否有一个函数可以删除给定特定内容的数千行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57677390/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com