2012-06-25 47 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