Subsetting based on values of a different data frame in R

后端 未结 4 1031
一向
一向 2021-01-19 04:59

I want to subset data if every value in the row is greater than the respective row in a different data frame. I also need to skip some top rows. These previous questions did

4条回答
  •  刺人心
    刺人心 (楼主)
    2021-01-19 05:05

    requisite data.table solution:

    library(data.table)
    
    # just to preserve the order, non-alphabetically
    idsA <- factor(rownames(A), levels=rownames(A))
    idsB <- factor(rownames(B), levels=rownames(B))
    
    # convert to data.table with id
    ADT <- data.table(id=idsA, A, key="id")
    BDT <- data.table(id=idsB, B, key="id")
    
    # filter as needed
    ADT[BDT][name1 > name1.1 & name2 > name2.1, list(id, name1, name2)]
    

提交回复
热议问题