从其他列表中的项目命名列表

时间:2011-09-23 12:47:07

标签: r

这可能是一个非常简单的问题,但我无法解决我的问题。以下代码返回错误:

person = c("name", "surname")
list(person[1]= "John")

Error : '=' unexpected in "list(person[1]="

我希望它返回:

$name
[1] "John"

StackOverflow可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:6)

以下可能会有用:

> p <- list("John", "Smith")
> names(p) <- c("name", "surname")
> p
$name
[1] "John"

$surname
[1] "Smith"

答案 1 :(得分:2)

由于您似乎试图通过命名变量访问列表元素,这可能就是您所追求的。这与aix的答案几乎相同,但是通过不同的路线。

person = c("name", "surname")

创建空列表,以后在增长列表时效率低下。

x <- list()

现在通过“person”值为此列表分配值。

x[person[1]] <- "John"

x[person[2]] <- "Smith"

x

$name
[1] "John"

$surname
[1] "Smith"

当你想继续增加清单时,我不认为这会有多大帮助,但它可能会帮助你看到这些东西如何运作得更好。