R lapply 拆分 data.table 列并在每个列表元素中保留列名
R lapply split data.table columns and reserve column names in each list element
我想为每个列表元素保留列名,因此列名是 C1
、C2
和 C3
而不是 V1
。有没有办法在 lapply(samp, function(...) {})
内完成?
library(data.table)
samp <- data.table("C1"=letters[1:3], "C2"=letters[4:6], "C3"=letters[7:9])
samp_list <- lapply(samp, data.table)
> samp_list
$C1
V1
1: a
2: b
3: c
$C2
V1
1: d
2: e
3: f
$C3
V1
1: g
2: h
3: i
理想情况下,类似于以下内容。不过,我不太关心列表名称,以防有帮助。
> samp_list
$C1
C1
1: a
2: b
3: c
$C2
C2
1: d
2: e
3: f
$C3
C3
1: g
2: h
3: i
尝试遍历列名或列索引
lapply(seq_along(samp), function(i) samp[, ..i])
我想为每个列表元素保留列名,因此列名是 C1
、C2
和 C3
而不是 V1
。有没有办法在 lapply(samp, function(...) {})
内完成?
library(data.table)
samp <- data.table("C1"=letters[1:3], "C2"=letters[4:6], "C3"=letters[7:9])
samp_list <- lapply(samp, data.table)
> samp_list
$C1
V1
1: a
2: b
3: c
$C2
V1
1: d
2: e
3: f
$C3
V1
1: g
2: h
3: i
理想情况下,类似于以下内容。不过,我不太关心列表名称,以防有帮助。
> samp_list
$C1
C1
1: a
2: b
3: c
$C2
C2
1: d
2: e
3: f
$C3
C3
1: g
2: h
3: i
尝试遍历列名或列索引
lapply(seq_along(samp), function(i) samp[, ..i])