Есть ли причина, по которой R не позволяет мне иметь число в качестве столбца имя моего кадра данных?
Также заметил, что если я сделаю data.frame (XX)
, то он добавит X
ко всем заголовкам столбцов, которые имеют номера спереди.
Да, потому что R не позволяет именам объектов начинаться с цифр. Если бы вы вызывали attach ()
с data.frame, это могло бы вызвать некоторые проблемы.
data.frame
(и read.table
) функция имеет параметр check.names
(по умолчанию TRUE
)
Если
TRUE
, то имена переменных во фрейме данных проверяются, чтобы убедиться, что они являются синтаксически допустимыми именами переменных и не дублируются. При необходимости они корректируются (с помощьюmake.names
) так, чтобы они были.
From ? Make.names
:
Синтаксически допустимое имя состоит из букв, цифр, точки или подчеркивания и начинается с буквы или точки, за которыми не следует число. [...] При необходимости добавляется символ «
X
».
У меня работает
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