在用c()定义R向量时,有没有一种简洁的方法可以用变量指定元素名

在用c()定义R向量时,有没有一种简洁的方法可以用变量指定元素名,r,vector,named-parameters,R,Vector,Named Parameters,假设我们用三个元素定义一个R向量V,它们的名称是“a”、“b”和变量x中的值。有没有简洁的方法?也就是说,在下面的例子中,可以将?x替换为提取x的值并将其用作名称的东西吗 V = c(a=1, b=45, ?x=100) 这将有助于: V = setNames(c(1, 45, 100), c("a", "b", x)) 但是如果有一种方法可以不使用setNames,在definition语句中保持名称和数据值紧密配对,那就太好了。来自R语言定义: [函数调用中]的每个参数都可以标记(tag

假设我们用三个元素定义一个R向量V,它们的名称是“a”、“b”和变量x中的值。有没有简洁的方法?也就是说,在下面的例子中,可以将?x替换为提取x的值并将其用作名称的东西吗

V = c(a=1, b=45, ?x=100)
这将有助于:

V = setNames(c(1, 45, 100), c("a", "b", x))

但是如果有一种方法可以不使用setNames,在definition语句中保持名称和数据值紧密配对,那就太好了。

来自R语言定义:

[函数调用中]的每个参数都可以标记(tag=expr),或者只是一个简单的参数 表情。它也可以是空的,也可以是特殊的 标记“…”、“…2”等

标记可以是标识符或文本字符串

示例:

f(x)
g(tag = value, , 5)
"odd name"("strange tag" = 5, y)
(function(x) x^2)(5)

据我所知,没有特殊的语法可以使标记被解释为符号或一般表达式,并用其值替换。

更简洁的方法是调整代码
V,这对我来说没有多大意义。如果按字面理解
a
,那么
c
如何知道
x
是一个变量?您可能需要编写自己的
c
函数才能运行此功能。请尝试使用
dplyr
x%mutate(UQ(x):=100)%%>%unlist 35; a b c 1 45 100
V我希望看到一个可以执行此操作的R扩展。在我看来,这是一件非常明显的事情。可以使用双回勾号,因为这在常规R代码中永远不会发生,并且回勾号已经用于指定参数标记的特殊处理:
V=c(A=1,b=45``x``=100)