dcast r中的data.table a1

dcast r中的data.table a1,r,data.table,reshape2,R,Data.table,Reshape2,在删除NA行后,使用dcast和drop=FALSE a1 <- data.table(id=c(1,1,1,1,2,2,2,3,3), var=c("6402","1","6302","3","6406","6406","2","1","1")) b1 <- data.t

在删除
NA
行后,使用
dcast
drop=FALSE

a1 <- data.table(id=c(1,1,1,1,2,2,2,3,3),
                 var=c("6402","1","6302","3","6406","6406","2","1","1"))
b1 <- data.table(var=c("6402","6406","6302"),
                 txt=c("A","B","A"))
mm <- b1[a1,on=.(var)]
dcast(mm,id~txt,function(x) any(!is.na(x)),fill=NA)

desired_output <- data.table(id=c(1,2,3),
                 A=c(T,F,F),
                 B=c(F,T,F))
库(data.table)

mm$id在删除
NA
行后,使用
dcast
drop=FALSE

a1 <- data.table(id=c(1,1,1,1,2,2,2,3,3),
                 var=c("6402","1","6302","3","6406","6406","2","1","1"))
b1 <- data.table(var=c("6402","6406","6302"),
                 txt=c("A","B","A"))
mm <- b1[a1,on=.(var)]
dcast(mm,id~txt,function(x) any(!is.na(x)),fill=NA)

desired_output <- data.table(id=c(1,2,3),
                 A=c(T,F,F),
                 B=c(F,T,F))
库(data.table)

mm$id知道为什么id必须是一个因素吗?这样我们就不会错过任何包含所有
NA
的id。检查
na的输出。省略(mm)
其中没有
id=3
。由于我们将
id
作为一个因子,它会出现在最终输出中。知道为什么id必须是一个因子吗?这样我们就不会错过任何具有所有
NA
的id。检查
na的输出。省略(mm)
其中没有
id=3
。由于我们将
id
作为一个因子,它将出现在最终输出中。