我发现自己经常写以下两行。有一个简洁的选择吗?

      newObj  <- vals
names(newObj) <- nams

# This works, but is ugly and not necessarily preferred
'names<-'(newObj <- vals, nams)

我正在寻找与此类似的东西(这当然是行不通的):
newObj <- c(nams = vals)

也可以将其包装在一个函数中,但是我想知道该功能是否已经存在。

样本数据
vals <- c(1, 2, 3)
nams <- c("A", "B", "C")

最佳答案

您需要setNames函数

# Your example data
vals <- 1:3
names <- LETTERS[1:3]
# Using setNames
newObj <- setNames(vals, names)
newObj
#A B C
#1 2 3

10-07 20:57