Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R data.table整数列和数字列之间的向后滚动联接_R_Join_Data.table - Fatal编程技术网

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警告不应该像这样保持沉默