如何将命名元素添加到带有变量名称的R向量中

时间:2017-05-23 22:57:22

标签: r elementname

我想在向量V中添加一个元素,比如100,并使用变量x的值作为新元素的名称。我知道可以这样做:

V = c(V, 100)
names(V)[length(V)] = x

但我正在寻找一种简单的单线解决方案,如果有的话。我试过了:

V = c(V, as.name(x)=100)

V = c(V, eval(x)=100)

但那些不起作用。

2 个答案:

答案 0 :(得分:4)

我们可以使用setnames

来完成此操作
setNames(c(V, 100), c(names(V), x))

添加示例,

V <- c(a = 1, b=2)
V
#a b 
#1 2 
x <- "c"
setNames(c(V, 100), c(names(V), x))
# a   b   c 
# 1   2 100 

或者@thelatemail建议我们只能使用附加元素

c(V, setNames(100,x))

答案 1 :(得分:0)

Ronak Shah的回答运作良好,但后来我发现了一种更简单的方法:

V [x] < - 100

我将发布一个新的相关且非常相似的问题 - 如何定义R向量,其中某些名称在变量中。