R 将data.table的列转换为同一data.table中的列表

R 将data.table的列转换为同一data.table中的列表,r,list,data.table,R,List,Data.table,我有一个数据表如下: library(data.table) DT <- fread( "A B C D E F iso year 0 A 1 1 NA NA NLD 2009 1 Y 0 2 NA NA NLD 2009 0 Q 1 3 NA NA AUS 2011 1 NA 0 4 NA NA AUS 201

我有一个数据表如下:

library(data.table)  
DT <- fread(
    "A   B  C  D  E  F  iso   year   
     0   A   1   1  NA  NA  NLD   2009   
     1   Y   0   2  NA  NA  NLD   2009   
     0   Q   1   3  NA  NA  AUS   2011   
     1   NA  0   4  NA  NA  AUS   2011   
     0   0   1   7  NA  NA  NLD   2008   
     1   1   1   1  NA  NA  NLD   2008   
     0   1   1   3  NA  NA  AUS   2012   
     0   NA  1   NA  1  NA  ECU   2009   
     1   NA  0   NA  2  0   ECU   2009   
     0   NA  0   NA  3  0   BRA   2011   
     1   NA  0   NA  4  0   BRA   2011   
     0   NA  1   NA  7  NA  ECU   2008   
     1   NA  0   NA  1  0   ECU   2008   
     0   NA  0   NA  3  2   BRA   2012   
     1   NA  0   NA  4  NA  BRA   2012",
   header = TRUE
)
我怎样才能让它在R中工作?

这里有一个选项

DT[, C1 := list(list(C)), by = iso] 
DT
#    A    B C  D  E  F iso year      C1
# 1: 0    A 1  1 NA NA NLD 2009 1,0,1,1
# 2: 1    Y 0  2 NA NA NLD 2009 1,0,1,1
# 3: 0    Q 1  3 NA NA AUS 2011   1,0,1
# 4: 1 <NA> 0  4 NA NA AUS 2011   1,0,1
# 5: 0    0 1  7 NA NA NLD 2008 1,0,1,1
# 6: 1    1 1  1 NA NA NLD 2008 1,0,1,1
# 7: 0    1 1  3 NA NA AUS 2012   1,0,1
# 8: 0 <NA> 1 NA  1 NA ECU 2009 1,0,1,0
# 9: 1 <NA> 0 NA  2  0 ECU 2009 1,0,1,0
#10: 0 <NA> 0 NA  3  0 BRA 2011 0,0,0,0
#11: 1 <NA> 0 NA  4  0 BRA 2011 0,0,0,0
#12: 0 <NA> 1 NA  7 NA ECU 2008 1,0,1,0
#13: 1 <NA> 0 NA  1  0 ECU 2008 1,0,1,0
#14: 0 <NA> 0 NA  3  2 BRA 2012 0,0,0,0
#15: 1 <NA> 0 NA  4 NA BRA 2012 0,0,0,0
这里有一个选择

DT[, C1 := list(list(C)), by = iso] 
DT
#    A    B C  D  E  F iso year      C1
# 1: 0    A 1  1 NA NA NLD 2009 1,0,1,1
# 2: 1    Y 0  2 NA NA NLD 2009 1,0,1,1
# 3: 0    Q 1  3 NA NA AUS 2011   1,0,1
# 4: 1 <NA> 0  4 NA NA AUS 2011   1,0,1
# 5: 0    0 1  7 NA NA NLD 2008 1,0,1,1
# 6: 1    1 1  1 NA NA NLD 2008 1,0,1,1
# 7: 0    1 1  3 NA NA AUS 2012   1,0,1
# 8: 0 <NA> 1 NA  1 NA ECU 2009 1,0,1,0
# 9: 1 <NA> 0 NA  2  0 ECU 2009 1,0,1,0
#10: 0 <NA> 0 NA  3  0 BRA 2011 0,0,0,0
#11: 1 <NA> 0 NA  4  0 BRA 2011 0,0,0,0
#12: 0 <NA> 1 NA  7 NA ECU 2008 1,0,1,0
#13: 1 <NA> 0 NA  1  0 ECU 2008 1,0,1,0
#14: 0 <NA> 0 NA  3  2 BRA 2012 0,0,0,0
#15: 1 <NA> 0 NA  4 NA BRA 2012 0,0,0,0
class(DT$C) <- "list"
DT[,  C := list(list(unlist(C))), iso]