根据大于或小于从函数输出中提取值

Extracting values from function output based on being greater than or less than

我使用这段代码创建了多个函数:

getT <- function(df, ID, Number){
  df %>%
    group_by(ID, Number) %>% 
    mutate( Distance = finish - begin) %>% 
    select(-begin,-finish,-symbols) %>%
    nest() %>% 
    mutate( data = map( data, ~ filter(.x, Distance == max(Distance)))) %>% 
    unnest()
}

getallT <- as.data.frame(getT(df))

getTID <- function(df, ID) {
  df1 <- getallT(df)
  subset(x = getallT, subset = (ID))
}`    

这给了我这样的输出:

ID     Number     Time     Distance
33         1      2.00         870
33         2      1.98         859
33         3      0.82         305
33         4      2.02         651
33         5      2.53         502

我想知道是否有一种方法可以根据值的高低来提取 Time 值?在上述情况下,我想创建一个函数来提取高于 2.00 的值,这样它就会有这样的输出:

ID     Number     Time     Distance
33         4      2.02         651
33         5      2.53         502

最终,我想创建一个不同的函数来提取低于 1.00 的值,然后通过为两者的组合创建另一个不同的函数来更进一步,但我认为一旦我知道如何做到这一点做第一部分!非常感谢任何回复。

这是您的数据框:

df <- data.frame(ID=rep(33,5),
                 Number=1:5,
                 Time=c(2.00,1.98,0.82,2.02,2.53),
                 Distance=c(870,859,305,651,502))

您可以使用 filterbetween!

保留值 <=1 和 >=2
df <- df %>% filter(!between(Time,1,2))

  ID Number Time Distance
1 33      3 0.82      305
2 33      4 2.02      651
3 33      5 2.53      502