【发布时间】:2021-02-18 09:10:36
【问题描述】:
现在我有两个数据框:
amount = c(19,21,39,45,62,71,100,121,130,160,180,210,240)
id = rep(1,length(amount))
test <- data.frame(id,amount)
interval = c(1:10)
bottom = c(0,25,50,75,100,125,150,175,200,225)
top = c(24,49,74,99,124,149,174,199,224,NA)
test_2 <- data.frame(interval,bottom,top)
test包含递增数量的值,test_2包含间隔。我正在尝试加入这两个框架,以便对于test 中的每个金额,我都会得到对应的ìinterval nr。作为一个新列,比如test$intervall。我试过foverlaps已经这样了:
setDT(test)
setDT(test_2)
foverlaps(test_2,test,by.x = amount, by.y = c(bottom,top), type = "within")
但是,这会返回一条错误消息,说
Invalid numeric value for 'by.x'; it should be a vector with values 1 <= by.x <= length(x)
也许你们中的一个可以在这里帮助我,谢谢!
【问题讨论】:
标签: r join dplyr data.table