从变量创建命名向量

4

我想在我的函数中使用命名向量,需要从变量中获取向量名称。

例如:

我想创建向量

c(foo = 1, bar = -1)

以以下方式:
a = "foo"
b = "bar"

c(a = 1, b = -1)

# where  c(a = 1, b = -1) == c(foo = 1, bar = -1)

有没有一种方法可以将变量用作向量的名称?谢谢!
1个回答

5
我们可以使用setNames函数。
setNames(c(1, -1), c(a, b))
#  foo bar 
#  1  -1 

另一个选项是使用 dplyr 中的 lst 函数创建一个 list,然后使用 unlist 函数将其转化为向量。

library(dplyr)
unlist(lst(!! a := 1, !! b := -1))
#   foo bar 
#   1  -1 

2
哇,那真的很简单。谢谢你的回答!我会尽快接受它。 - ViktorG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接