如何在创建向量(或列表)时批量指定值和名称?

时间:2016-07-27 05:35:58

标签: r

我知道可以做这样的事情

x <- c(foo = 1, bar = 4)

假设我想创建一个向量,其值和名称将从the_values(some, args)the_names(some, args)等表达式中获取?

我知道我可以通过两个分配创建所需的矢量:

x <- the_values(some, args)
names(x) <- the_names(some, args)

有没有办法通过单一作业实现同样的目标?

我也对列表的类似问题感兴趣。

1 个答案:

答案 0 :(得分:3)

我们可以使用setNames

x <- setNames(the_values(some, args), the_names(some, args))

对于第一个例子

setNames(c(1,4), c("foo", "bar"))

它适用于listvector s

setNames(list(1,4), c("foo", "bar))

另一个选项是names<-

x <- `names<-`(the_values(some, args), the_names(some, args))