假设我们有一个原始列表对象list_tmp
,它具有不同级别的嵌套,如下所示(在文章的底部是list_tmp
的代码):
> list_tmp
$clinic
$clinic$trial
$clinic$trial$patient
A B
[1,] 0 0
[2,] 0 0
$clinic$result
C
[1,] 0
[2,] 0
$test
D
[1,] 0
[2,] 0
如何在不考虑子列表名或嵌套级别的情况下,将向量值以行-列的方向"注入"List对象?填充将一直持续到耗尽向量元素的较早者,或者直到到达列表的末尾.在完整的代码中,向量元素的数量将始终等于列表中的"单元格"的数量.
例如,如果我们有向量vec <- (1,2,3,4,5,6,7,8)
,按顺序将这些向量值倾倒到list_tmp
中将产生以下结果:
> list_tmp
$clinic
$clinic$trial
$clinic$trial$patient
A B
[1,] 1 3
[2,] 2 4
$clinic$result
C
[1,] 5
[2,] 6
$test
D
[1,] 7
[2,] 8
代码list_tmp
:
list_tmp <- list(
clinic = list(
trial = list(
patient = matrix(0, nrow = 2, ncol = 2, dimnames = list(NULL, c("A", "B")))
),
result = matrix(0, nrow = 2, ncol = 1, dimnames = list(NULL, c("C")))
),
test = matrix(0, nrow = 2, ncol = 1, dimnames = list(NULL, c("D")))
)