R - 更改列表中的插槽名称

R - change names of slots in list

有什么方法可以根据每个插槽中的值重命名列表中的插槽名称。例如,在这样的列表中:

x <- list(c("name1","name2"), c("name1","name3"), c("name4","name5"))
names(x) <- c("a","b","c")
x
$a
[1] "name1" "name2"

$b
[1] "name1" "name3"

$c
[1] "name4" "name5"

我想更改插槽名称以实现如下目的:

$name1;name2
[1] "name1" "name2"

$name1;name3
[1] "name1" "name3"

$name4;name5
[1] "name4" "name5"

注意:每个插槽的数量是可变的。

谢谢。

您可以使用:

names(x) <- sapply(x,paste,collapse=";")

对于 x 的每个元素,这会将字符串粘贴在一起,然后将它们组合成一个向量。如您所示,这可用于设置 names(x)