r
2011-09-23 107 views 2 likes 
2

这可能是一个非常容易的,但我无法解决我的问题。下面的代码返回一个错误:从另一个列表中的项目命名列表

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

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

我想它返回:

$name 
[1] "John" 

计算器能帮助我吗?

回答

6

也许下面将使用:

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

$surname 
[1] "Smith" 
+0

我能够命名是使用名称(p)< - person [1]这实际上是我的问题。非常感谢! – Sam

2

既然你似乎想要通过命名变量来访问列表元素,这可能是你所追求的。这与aix的答案几乎相同,但通过不同的路线。

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

创建空列表,当您在稍后增大列表时,这可能是低效的。

x <- list() 

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

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

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

x 

$name 
[1] "John" 

$surname 
[1] "Smith" 

我不认为这真的什么帮助时,要保持增长之列,但它可能会帮助你看到这些东西是如何工作的更好一点。

相关问题