2010-08-06 9 views
16

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

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

ответ

17

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

В функции read.table вы увидите (например) параметр check.names, который использует функцию make.names(), чтобы выполнять то, что вы описываете.

+0

Да, я объяснил, как много вчера в связи с именованием кадра данных. –

+0

Есть ли причина для этого? или это просто то, что никто не имеет в виду? Это не * что * большая сделка, чтобы поставить X перед любыми цифрами, я хочу быть заголовками, но мне просто интересно, ПОЧЕМУ R не разрешит мне. –

+2

You * еще * не понимаю. Перечитайте ответ Шейна, подумайте о 'attach()' и поймите, почему у них есть имена переменных. Как показывает Марек, вы * можете * сделать это, но это не значит, что вы должны *. –

23

Работы для меня

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 
+0

спасибо. Я понял о цифрах, но кажется, что некоторые unicode-тексты запрещены. Когда я использую фрейм только для форматирования, ваше предложение пригодится. –

Смежные вопросы