2016-04-09 11 views
2

Ich bin neu in R und ich google, aber ich kann die Antwort nicht finden.Attribute: Namen, in r

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

Allerdings, wenn ich die Attribute var überprüfen

attributes(var) 
$name 
[1] "gg" 

$names 
[1] "gg" NA 

Warum für Attribute Namen gibt es eine NA? Für var [1]?

Ich bin mit R-Studio, Version 0.99.491 auf ubuntu

+1

@baptiste - Ich denke, da es einen Vektor nennt, hat deshalb 'names (vec)' 'length (vec)'. Wie in '\' names <- \ '(1: 6," gg ")' – thelatemail

+0

'names' ist ein spezielles * Attribut, das einen Namen für jedes Element des Vektors erwartet (Sie können es auch mit' names() setzen 'Funktion). * speziell in dem Sinne, der speziell behandelt wird, wenn Sie den Vektor oder seine Attribute drucken ... – digEmAll

Antwort

4

Wenn ein einfaches, Atomvektor wie 1:2 bedenkt, sind names zu jedem einzelnen Element befestigt ist. Das heißt, wenn Sie einem bestimmten Element names nicht geben, füllt R sie mit NA Werten. Id.e .:

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 
Verwandte Themen