我有一个data.table包含一些我想要合并到另一个data.table的数据。但是,列的类型不匹配。
例如:
library(data.table)
heading <- c("A","B","C")
temp <- data.table(matrix(NA,nrow=1,ncol=3))
setnames(temp,names(temp),heading)
data <- data.table(A=2,B="hi")
merge(temp,data,by=c("A","B"))
上面给出了错误
Error in bmerge(i <- shallow(i), x, leftcols, rightcols, io <- haskey(i), :
x.'B' is a character column being joined to i.'B' which is type 'logical'.
Character columns must join to factor or character columns.
任何其他数据类型不匹配都是这种情况。
在这种情况下,我并不真正关心我的temp
data.table最初的数据类型,我想将它与data
对象中的任何类型相匹配。我也无法将NA
设置为特定数据类型,因为在合并之前我无法确定(或者我不想保持灵活性)。
我该如何使这项工作?我可以强制强迫吗?
答案 0 :(得分:0)
对于那些最终在这里使用搜索引擎的人,问题的答案是:
handler
@ N8TRO的完整概率(请参阅注释)。