为什么 'names' 的属性表现不同?

Why do the attributes for 'names' behave differently?

我是 R 的新手,我做了一些 google 但我找不到答案。

var <- 1:2
attr(var,"name")<-'gg'
attr(var,"names")<-'gg'

但是,当我检查 var

的属性时
attributes(var)
$name
[1] "gg"

$names
[1] "gg" NA  

为什么属性 names 有一个 NA?对于变量[1]?

我在 ubuntu

上使用 R studio,版本 0.99.491

当考虑像 1:2 这样的基本原子向量时,names 附加到每个单独的元素。这意味着,如果您不为特定元素提供 names,R 会用 NA 值填充它们。即:

var <- 1:2
names(var) <- c("a","b")
var
#   a b 
#   1 2 

var <- 1:2
names(var) <- c("a")
var
#   a <NA> 
#   1    2 

var <- 1:6
names(var) <- c("a","b")
var
#   a    b <NA> <NA> <NA> <NA> 
#   1    2    3    4    5    6