我知道可以做这样的事情
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)
有没有办法通过单一作业实现同样的目标?
我也对列表的类似问题感兴趣。
答案 0 :(得分:3)
我们可以使用setNames
x <- setNames(the_values(some, args), the_names(some, args))
对于第一个例子
setNames(c(1,4), c("foo", "bar"))
它适用于list
和vector
s
setNames(list(1,4), c("foo", "bar))
另一个选项是names<-
x <- `names<-`(the_values(some, args), the_names(some, args))