2010-08-06 24 views
16

Gibt es einen Grund, warum R mir nicht erlauben wird, eine Nummer als Spaltenname meines Datenrahmens zu haben?R Zahlen als Spaltennamen von Datenrahmen

auch bemerkt, dass, wenn ich tun data.frame(XX) fügt es eine X zu allen Spaltenüberschriften, die Zahlen an der Vorderseite haben.

Antwort

17

Ja, weil R die Namen von Objekten nicht mit Zahlen beginnen lässt. Wenn Sie attach() mit dem data.frame aufrufen, würde dies einige Probleme verursachen.

Sie werden (zum Beispiel) in der Funktion read.table den Parameter check.names bemerken, der die Funktion make.names() verwendet, um das zu tun, was Sie beschreiben.

+0

Yup, erklärte ich so viel gestern in Beziehung zu Datenrahmen Namensgebung. –

+0

Gibt es einen Grund dafür? oder ist es nur etwas, worüber niemand wirklich etwas weiß? Es ist nicht * das * große Angebot, X vor irgendwelche Zahlen zu setzen, die ich Header sein will, aber ich habe mich gerade gefragt, WARUM R mich nicht lassen wird. –

+2

Sie * verstehen * immer noch nicht. Lies Shanes Antwort noch einmal, denke über 'attach()' nach und erkläre, warum diese Variablennamen haben. Wie Marek zeigt, könntest du es * tun, aber das bedeutet nicht, dass * du * solltest. –

23

Werke für mich

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

danke. Ich verstehe Zahlen, aber es scheint, dass einige Unicode-Texte nicht erlaubt sind. Wenn ich einen Rahmen nur zum Formatieren verwende, ist dein Vorschlag nützlich. –

Verwandte Themen