R 在data.table中添加多个类别的每个组合都缺少值

R 在data.table中添加多个类别的每个组合都缺少值,r,data.table,R,Data.table,我得到了一个data.tabledt,里面有一些特定年龄和年份的人口统计数据。此外,我将其分为几个类别Cat_1、Cat_2和Cat_3 set.seed(1) Cat_1<-c("A","B") Cat_2 <- c("u","v") Year_1 <- c(1991:2000) Age <- c(46:50) dt1<-CJ(Cat_1,Cat_2,Year_1,Age) dt1[,Cat_3 := "x"] dt1[,value:=runif(dim(dt1)

我得到了一个data.table
dt
,里面有一些特定年龄和年份的人口统计数据。此外,我将其分为几个类别
Cat_1
Cat_2
Cat_3

set.seed(1)
Cat_1<-c("A","B")
Cat_2 <- c("u","v")
Year_1 <- c(1991:2000)
Age <- c(46:50)
dt1<-CJ(Cat_1,Cat_2,Year_1,Age)
dt1[,Cat_3 := "x"]
dt1[,value:=runif(dim(dt1)[1],0,1)]

Year_2 <- c(1996:2000)
dt2<-CJ(Cat_1,Cat_2,Year_2,Age)
dt2[,Cat_3 := "y"]
dt2[,value:=runif(dim(dt2)[1],0,1)]
dt <- rbind(dt1,dt2)
colnames(dt) <- c("Cat_1","Cat_2","Year","Age","Cat_3","value")
set.seed(1)
Cat_1可能:

dt <- dt[
  CJ(Cat_3, Cat_1, Cat_2, Year, Age, unique = TRUE), 
  on = .(Cat_3, Cat_1, Cat_2, Year, Age)
  ]
     Cat_1 Cat_2 Year Age Cat_3      value
  1:     A     u 1991  46     y         NA
  2:     A     u 1991  47     y         NA
  3:     A     u 1991  48     y         NA
  4:     A     u 1991  49     y         NA
  5:     A     u 1991  50     y         NA
 ---                                      
196:     B     v 2000  46     y 0.68144251
197:     B     v 2000  47     y 0.09916910
198:     B     v 2000  48     y 0.11890256
199:     B     v 2000  49     y 0.05043966
200:     B     v 2000  50     y 0.92925392