如何使用变量中的名称将命名元素添加到 R 向量中
How add named element to R vector with name from a variable
我想向向量 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)
但那些不起作用。
好的,发现最好的方法:
V[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))
Ronak Shah 的回答很有效,但后来我发现了一个更简单的方法:
V[x] <- 100
我要post一个新的相关且非常相似的问题 - 如何定义一些名称在变量中的 R 向量。
我想向向量 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)
但那些不起作用。
好的,发现最好的方法:
V[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))
Ronak Shah 的回答很有效,但后来我发现了一个更简单的方法:
V[x] <- 100
我要post一个新的相关且非常相似的问题 - 如何定义一些名称在变量中的 R 向量。