属性变量名称到命名向量

You*_*cha 4 r

我有一个字符串和一个数字

cID = 'x1'
num = 1
Run Code Online (Sandbox Code Playgroud)

我想创建一个命名向量

nvec = c(x1 = num)
Run Code Online (Sandbox Code Playgroud)

但是,当我执行以下操作时,R解释cID'cID'而不是'x1'.

nvec = c(cID = num)
Run Code Online (Sandbox Code Playgroud)

Jos*_*ien 6

对于单线解决方案,请使用setNames():

nvec <- setNames(num, cID)
nvec
# x1 
# 1 
Run Code Online (Sandbox Code Playgroud)

例如,setName()为一个棘手的问题提供了一个干净而优雅的解决方案,请参阅@ hadley 对此问题的回答.


42-*_*42- 5

尝试使用“[”

> nvec <- numeric(0)
> nvec[cID] <- num
> nvec
x1 
 1
Run Code Online (Sandbox Code Playgroud)