命名列表成员具有相同的名称

时间:2017-06-25 20:03:30

标签: r

当我想“合并”两个列表时,我通常使用c - 函数:

merge <- c(list(a=1), list(a=2))

现在我已经列出了两个同名的成员。

merge
$a
[1] 1

$a
[1] 2

merge是2的列表,但我无法通过其名称(仅限数字)访问第二个成员。

任何人都可以解释R的内部使这种行为成为可能吗?我期待的行为类似于字典,但似乎没有强制执行。甚至没有错误...

我也想知道我是否正在以正确的方式“合并”。

1 个答案:

答案 0 :(得分:1)

使用不同的名称访问元素可能更好。为此,我们可以使用make.unique

names(merge) <- make.unique(names(merge), sep="")
merge$a
#[1] 1
merge$a1 
#[1] 2