Числа как имена столбцов фреймов данных - PullRequest
17 голосов
/ 06 августа 2010

Есть ли причина, по которой R не позволяет мне иметь число в качестве имени столбца моего информационного кадра?

Также заметил, что, если я делаю data.frame(XX), он добавляет X ко всем заголовкам столбцов, которые имеют номера спереди.

Ответы [ 2 ]

25 голосов
/ 06 августа 2010

у меня работает

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
20 голосов
/ 06 августа 2010

Да, потому что R не позволяет именам объектов начинаться с цифр. Если вы вызовете attach() с data.frame, это вызовет некоторые проблемы.

Функция

data.frameread.table) имеет параметр check.names (по умолчанию TRUE)

Если TRUE, то имена переменных во фрейме данных проверяются, чтобы убедиться, что они являются синтаксически допустимыми именами переменных и не дублируются. При необходимости они корректируются (на make.names) так, чтобы они были.

С ?make.names:

Синтаксически допустимое имя состоит из букв, цифр и точки или символов подчеркивания и начинается с буквы или точки, за которой не следует число. [...] Символ "X" добавляется в случае необходимости.

...