我想向元素V添加一个元素(如100),并将变量x的值用作新元素的名称。我知道它可以这样做:如何将名称元素添加到变量名称为R的向量
V = c(V, 100)
names(V)[length(V)] = x
但我正在寻找一个简单的单线解决方案,如果有的话。我想:
V = c(V, as.name(x)=100)
和
V = c(V, eval(x)=100)
但那些不工作。
我想向元素V添加一个元素(如100),并将变量x的值用作新元素的名称。我知道它可以这样做:如何将名称元素添加到变量名称为R的向量
V = c(V, 100)
names(V)[length(V)] = x
但我正在寻找一个简单的单线解决方案,如果有的话。我想:
V = c(V, as.name(x)=100)
和
V = c(V, eval(x)=100)
但那些不工作。
我们可以通过使用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))
可能更简单 - 'c(V, setNames(100,X))' – thelatemail
Ronak沙阿的回答很好,但后来我发现了一个更简单的方法:
V [X] < - 100
我要发布一个新的相关和非常类似的问题 - 如何定义的R向量,其中一些名字是变量。
可能的重复https://stackoverflow.com/questions/11784660/assign-names-to-vector-entries-without-assigning-the-vector-a-variable-name – akrun