Inner Join with conditions in R

后端 未结 3 971
野的像风
野的像风 2021-01-20 07:37

I want to do inner join with the condition that it should give me subtraction of 2 columns.

df1 = data.frame(Term = c(\"T1\",\"T2\",\"T3\"), Sec = c(\         


        
3条回答
  •  温柔的废话
    2021-01-20 07:59

    Using data.tables binary join you can modify columns while joining. nomatch = 0L makes sure that you are doing an inner join

    library(data.table)
    setkey(setDT(df2), Sec)
    setkey(setDT(df1), Sec)[df2, .(Term, Sec, Value = abs(Value - i.Value)), nomatch = 0L]
    #    Term Sec Value
    # 1:   T1  s1    30
    # 2:   T2  s2    20
    # 3:   T3  s3    10
    

提交回复
热议问题