gpt4 book ai didi

r - 删除所有小于指定值的时间

转载 作者:行者123 更新时间:2023-12-02 01:08:36 27 4
gpt4 key购买 nike

这可能是一个简单的问题,但是我是R的新手,无法找到答案(或者正在搜索错误的内容)。
我目前正在一个项目中,该项目涉及删除所有少于5分钟的时间值。数据示例如下,并使用“lubridate”包创建了时间。

Time
19S
1M 24S
7M 53S
11M 6S
.
.
.

现在,我希望删除所有少于5分钟的值。因此,我希望获得的最终数据集是:
Time
7M 53S
11M 6S
.
.
.

任何帮助都将是惊人的!
谢谢!

最佳答案

您可以执行以下操作:

df <- df[df$time > ms('5:00'), ]

结果:
> df
time value
3 7M 53S 3
4 11M 6S 4

足够强大,将其转换为dplyr代码;它不起作用:
filter(df, time > ms('5:00'))

结果:
   time
1 53S
2 1M 6S
Warning message:
In format.data.frame(x, digits = digits, na.encode = FALSE) :
corrupt data frame: columns will be truncated or padded with NAs

我问了一个问题,找到了答案 here。您可以通过以下方式获得良好的解决方案:
df %>% 
mutate(time = as.numeric(time)) %>%
filter(time > as.numeric(ms('5:00'))) %>%
mutate(time = ms(paste0(floor(time/60),':',round((time/60 - floor(time/60))*60))))

数据:
df <- data.frame(time = ms(c('0:19','1:24','7:53','11:6')), value = 1:4)

关于r - 删除所有小于指定值的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46360218/

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