2010-08-06 106 views

回答

17

是的,因爲R不會允許對象的名稱以數字開頭。如果你要使用data.frame調用attach(),這會導致一些問題。

您會注意到(例如)read.table函數中的check.names參數,它使用make.names()函數來執行您描述的操作。

+0

啊,我昨天同樣多關係數據幀的命名解釋。 – 2010-08-06 12:14:13

+0

這是有原因嗎?還是僅僅是沒有人真正介意的東西? 這不是*很大的一筆交易,把X放在任何數字前面我想成爲頭,但我只是想知道爲什麼R不會讓我。 – 2010-08-06 12:26:34

+2

你*還*不明白。重讀Shane的回答,考慮'attach()'並且意識到爲什麼這些必須要有變量名。馬雷克表示,你*可以*做到這一點,但這並不意味着你*應該*。 – 2010-08-06 13:43:27

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文本是不允許的。當我僅使用框架進行格式化時,您的建議就派上用場了。 – 2011-12-16 07:04:28