Numeri come nomi delle colonne di frame di dati
Domanda
C'è un motivo per cui R non mi permette di avere un numero come il nome della colonna della mia dataframe?
anche notato che se lo faccio data.frame(XX)
aggiunge un X
a tutte le intestazioni delle colonne che hanno numeri nella parte anteriore.
Soluzione
Si, perché R non permetterà nomi di oggetti per iniziare con i numeri. Se si dovesse chiamata attach()
con la data.frame, questo avrebbe causato alcuni problemi.
data.frame
(e read.table
) funzione ha il parametro check.names
(di default è TRUE
)
Se
TRUE
poi i nomi delle variabili nella cornice di dati vengono controllati per assicurare che siano sintatticamente nomi di variabili validi e non sono duplicati. Se necessario si sono regolati (damake.names
) in modo che siano.
Da ?make.names
:
Un nome sintatticamente valido è costituito da lettere, numeri e il punto o caratteri di sottolineatura e inizia con una lettera o il punto non è seguita da un numero. [...] Il carattere "
X
" viene anteposto se necessario.
Altri suggerimenti
lavora per me
data.frame(`1`=rnorm(3), `2`=head(letters,3), check.names=FALSE)
# 1 2
# 1 0.5019 a
# 2 1.1148 b
# 3 0.4787 c