R data.table整数列和数字列之间的向后滚动联接
今天遇到了一个涉及数据的意外行为。表的滚动联接。我想在整型列和数值型列之间进行滚动联接。前滚和我预期的一样,但后滚不行R data.table整数列和数字列之间的向后滚动联接,r,join,data.table,R,Join,Data.table,今天遇到了一个涉及数据的意外行为。表的滚动联接。我想在整型列和数值型列之间进行滚动联接。前滚和我预期的一样,但后滚不行 dt1<-data.table(x=as.integer(c(1,2))) dt2<-data.table(x=c(1.5)) setkey(dt1, "x") setkey(dt2, "x") dt1[dt2, roll=TRUE] #Expected behavior x 1: 1 dt1[dt2, roll=-Inf] #Unexpected be
dt1<-data.table(x=as.integer(c(1,2)))
dt2<-data.table(x=c(1.5))
setkey(dt1, "x")
setkey(dt2, "x")
dt1[dt2, roll=TRUE] #Expected behavior
x
1: 1
dt1[dt2, roll=-Inf] #Unexpected behavior
x
1: 1
dt1这是预期的行为,尽管有隐藏的警告。发生的情况是,dt2$x
被强制为整数,因此两个卷都没有做任何事情,这是一个值为1的直接合并
要查看警告,请使用verbose=TRUE
:
dt1[dt2, verbose = TRUE]
#Coercing 'double' column i.'x' to 'integer' to match type of x.'x'. Please avoid coercion for efficiency.
#Starting bmerge ...done in 0 secs
# x
#1: 1
如果您包含一些其他值、列以查看发生了什么,这可能会有所帮助。dt1btw怎么样?imo警告不应该像这样保持沉默