R数据表错误-x的类型!=i型
我在尝试执行data.table联接时遇到错误:R数据表错误-x的类型!=i型,r,data.table,R,Data.table,我在尝试执行data.table联接时遇到错误: setkey(th1, split1, market, dept_size, bool_3) th1[J(split1_training_value,markets[m], chains[c], dept_sizes[d], bool_3_value)] Error in `[.data.table`(th1, J(split1_training_value, markets[m], chains[c], : typeof x.dept
setkey(th1, split1, market, dept_size, bool_3)
th1[J(split1_training_value,markets[m], chains[c], dept_sizes[d], bool_3_value)]
Error in `[.data.table`(th1, J(split1_training_value, markets[m], chains[c], :
typeof x.dept_size (double) != typeof i.dept_size (integer)
我检查了结构和输入,我确实有相同的类(数字),所以我不理解问题:
> class(dept_sizes[d])
[1] "numeric"
> class(th1$dept_size)
[1] "numeric"
对于那些two@KapelNick我添加了typeof.yes,但正如您所看到的错误所示,
typeof.dept\u size
是integer
而不是double
。所以我猜你错过了一些东西。是的,我看到了。问题是我遗漏了什么…你的键有4个元素,而你的J
有5个元素-这是你的问题-chains[c]
是一个令人不快的整数,但更大的问题是你的J
表达式
> typeof(dept_sizes[d])
[1] "double"
> typeof(th1$dept_size)
[1] "double"