【发布时间】:2019-10-01 16:25:11
【问题描述】:
我有一个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 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
)
在这个 data.table 中,我想根据 iso 代码将列 C 转换为每一行的列表。结果是这样的:
library(data.table)
DT <- fread(
"A B C D E F iso year
0 A {1,0,1,1} 1 NA NA NLD 2009
1 Y {1,0,1,1} 2 NA NA NLD 2009
0 Q {1,0,1} 3 NA NA AUS 2011
1 NA {1,0,1} 4 NA NA AUS 2011
0 0 {1,0,1,1} 7 NA NA NLD 2008
1 1 {1,0,1,1} 1 NA NA NLD 2008
0 1 {1,0,1} 3 NA NA AUS 2012
0 NA {1,0,1,0} NA 1 NA ECU 2009
1 NA {1,0,1,0} NA 2 0 ECU 2009
0 NA {0,0,0,0} NA 3 0 BRA 2011
1 NA {0,0,0,0} NA 4 0 BRA 2011
0 NA {1,0,1,0} NA 7 NA ECU 2008
1 NA {1,0,1,0} NA 1 0 ECU 2008
0 NA {0,0,0,0} NA 3 2 BRA 2012
1 NA {0,0,0,0} NA 4 NA BRA 2012",
header = TRUE
)
我怎样才能让它在 R 中工作?
【问题讨论】:
标签: r list data.table