在R中从下到上提取相似值

在R中从下到上提取相似值,r,duplicates,R,Duplicates,我的表格如下: FDate<-data.table("Date"=seq(1:6),"Cycle"=c(90,100,130,150,170,200),"i.Task"=c(NA,NA,"D",NA,NA,"A"),"Task"=c("D","A","C","B",NA,NA)) Date Cycle i.Task Task 1: 1 90 <NA> D 2: 2 100 <NA> A 3: 3 130

我的表格如下:

FDate<-data.table("Date"=seq(1:6),"Cycle"=c(90,100,130,150,170,200),"i.Task"=c(NA,NA,"D",NA,NA,"A"),"Task"=c("D","A","C","B",NA,NA))
   Date Cycle i.Task Task
1:    1    90   <NA>    D
2:    2   100   <NA>    A
3:    3   130      D    C
4:    4   150   <NA>    B
5:    5   170   <NA> <NA>
6:    6   200      A <NA>
我们可以融合成“长”格式,然后按“任务”分组,得到“循环”的最大值

library(data.table)
melt(FDate, id.var = c("Date", "Cycle"), na.rm = TRUE, value.name = "Task")[, 
     .(Cycle = Cycle[which.max(Cycle)]), Task]
或者使用“从tidyverse收集”的类似选项

我们可以融合成“长”格式,然后按“任务”分组,得到“循环”的最大值

library(data.table)
melt(FDate, id.var = c("Date", "Cycle"), na.rm = TRUE, value.name = "Task")[, 
     .(Cycle = Cycle[which.max(Cycle)]), Task]
或者使用“从tidyverse收集”的类似选项


您是否需要FDate[,lastna.omitunlist.SD,Cycle,.SDcols=3:4]不清楚逻辑上的最新对应循环我想要对应编码任务的最大循环您是否需要FDate[,lastna.omitunlist.SD,Cycle,.SDcols=3:4]不清楚逻辑上的最新对应循环我想要对应编码任务的最大循环
library(tidyverse)
gather(FDate, key, Task, matches("Task"), na.rm = TRUE) %>% 
    group_by(Task) %>%
    summarise(Cycle = max(Cycle)) %>%
    select(Cycle, Task) %>%
    arrange(Cycle)
# A tibble: 4 x 2
#  Cycle Task 
#  <dbl> <chr>
#1   130 C    
#2   130 D    
#3   150 B    
#4   200 A