2012-06-25 16 views
4

我有一个字符串,以及一些属性变量名到一个名为向量

cID = 'x1' 
num = 1 

我想创建一个名为向量

nvec = c(x1 = num) 

,但是当我这样做,R解释cID'cID'而不是'x1'

nvec = c(cID = num) 

回答

6

对于一个在线解决方案,使用setNames()

nvec <- setNames(num, cID) 
nvec 
# x1 
# 1 

对于其中setName()提供一个干净,优雅的解决一个棘手的问题的例子,看到@哈德利的答案this question

3

尝试使用 “[”

> nvec <- numeric(0) 
> nvec[cID] <- num 
> nvec 
x1 
1 
0

我不知道这是你在问什么,但无论如何

assign(cID, num) 

意味着

5 - x1 

[1] 4 
+0

这不会导致命名向量。 –

+0

@DWin:是的 - 我意识到这一点,这就是为什么我添加了第一行,但留下它,因为有人可能会发现它有用。对于实际问题'nvec < - num;名字(nvec)< - cID'是简单的答案 – Henry