Gute Variablennamen sind:
a) kurz / leicht zu tippen,
b) leicht zu merken,
c) verständlich / kommunikativ.
Vergesse ich etwas? Konsistenz ist etwas zu suchen. Ich würde sagen, dass konsistente Namenskonventionen zu den oben genannten Eigenschaften beitragen. Konsistenz trägt zu (b) leichtem Rückruf und (c) Verständlichkeit bei, obwohl andere Faktoren oft wichtiger sind. Es gibt einen klaren Kompromiss zwischen (a) Namenslänge / einfacher Eingabe (z. B. Kleinbuchstaben) und (c) Verständlichkeit.
Ich investiere einiges in diese Themen, weil Tausende von Menschen die Daten verwenden, und ich hoffe, dass viele meinen Code verwenden werden , um die Daten vorzubereiten und einige Arten von Analysen zu ermöglichen. Die Daten aus der Längsschnittstudie zur Gesundheit von Jugendlichen sind in mehrere Datensätze unterteilt. Mein erster Schritt bestand darin, die 227 Variablen im am häufigsten verwendeten Datensatz zu übernehmen, sie neu zu codieren und ihnen aussagekräftigere Namen zu geben. Ursprüngliche Variablennamen sind Dinge wie "aid", "s1", "s2", die ich in "aid2", "age" und "male.is" umbenannt habe. Es gibt Tausende anderer Variablen in den anderen Datensätzen, die je nach den Zielen des Forschers zusammengeführt werden können.
Solange ich Variablen umbenenne, möchte ich sie so nützlich wie möglich machen. Hier sind einige der Probleme, die ich berücksichtigt habe. Bisher habe ich nur Kleinbuchstaben verwendet und es vermieden, Bindestriche oder Unterstriche zu verwenden, und ich habe Punkte nur für einen ganz bestimmten Zweck verwendet. Dies hat den Vorteil der Einfachheit und Konsistenz und verursacht für die meisten Variablen keine Probleme. Aber wenn die Dinge komplexer werden, bin ich versucht, meine Konsistenz zu brechen. Nehmen wir zum Beispiel meine Variable "talkprobmsum", es wäre einfacher, sie als "talkProbMSum" oder besser als "talk.prob.m.sum" zu lesen, aber wenn ich Großbuchstaben oder Punkte verwenden würde, um Wörter zu trennen sollte ich es nicht für alle Variablen tun?
Einige Variablen werden mehr als einmal aufgezeichnet, z. B. die Rennvariablen, daher habe ich .is oder .ih angehängt, um anzugeben, ob sie aus dem Fragebogen in der Schule oder zu Hause stammen. Aber es gibt sicherlich einige Wiederholungen, die mir noch nicht bekannt sind. Wäre es besser, einen Verweis auf den Datensatz an den Namen jeder Variablen anzuhängen?
Ich muss viele Variablen gruppenzentrieren und standardisieren. So habe ich es gemacht, indem ich .zms angehängt habe, was Z-Score nach Mann und Schule bedeutet.
Allgemeine oder spezifische Gedanken oder Ressourcen werden sehr geschätzt. In diesem Repository finden Sie einen Teil meines Codes sowie beschreibende Statistiken mit einer Liste von Variablennamen. Ich kurz beschrieben , den Grund für den Austausch von diesem Code hier , und es war ein wenig beachteten hier , aber diese letzten beiden Links sind nicht wirklich relevant für die Frage der variablen Namenskonventionen. Hinzugefügt: Ich habe dies leicht bearbeitet und meistens nur einen Absatz verschoben, um zu versuchen, die Verwirrung in den Kommentaren zu vermeiden. Danke für die Gedanken!
Hinzugefügt am 05.09.2016: Es lohnt sich, Hadley Wickhams R Style Guide und Googles R Style Guide zu erwähnen ... Hadley sagt:
Variablen- und Funktionsnamen sollten in Kleinbuchstaben geschrieben werden. Verwenden Sie einen Unterstrich (_), um Wörter innerhalb eines Namens zu trennen.
Google sagt:
Verwenden Sie in Bezeichnern keine Unterstriche (_) oder Bindestriche (-). Bezeichner sollten gemäß den folgenden Konventionen benannt werden. Die bevorzugte Form für Variablennamen sind alle Kleinbuchstaben und Wörter, die durch Punkte (Variablenname) getrennt sind. Variablenname wird jedoch ebenfalls akzeptiert. Funktionsnamen haben Anfangsbuchstaben und keine Punkte (Funktionsname); Konstanten werden wie Funktionen benannt, jedoch mit einem Anfangsbuchstaben k.
quelle
R
, sondern um geeignete Methoden zur Dokumentation und Verwendung von Daten.Antworten:
Die beste Antwort auf diese Frage ist, sich zu ducken. Grundsätzlich spielt es keine Rolle, wie die Kurznamen der Variablen lauten, solange sie irgendwo in einem Codebuch gut dokumentiert sind. Leider, da R keine einheimischen Ressourcen dafür hat, neigen die Leute dazu, sich nicht darum zu kümmern. (Der Mangel ist für mich der größte Fehler in der Sprache als statistisches Instrument).
Es gibt verschiedene R-Pakete, die diese Maschinen bereitstellen, z. B.
Hmisc
die Sie verwenden, undmemisc
. Aber wirklich die beste Option ist, das Ganze in ein R-Paket zu verwandeln. Auf diese Weise können die verarbeiteten Daten ein Objekt mit einer entsprechenden Hilfeseite sein, die beschreibt, wie alles jetzt heißt, und Guthaben dort zuweisen, wo es fällig ist. Das Paket kann auch die Rohdaten und Ihre Verarbeitungsfunktionen verfügbar machen, damit die Benutzer sehen können, was Sie getan haben, um das Endprodukt herzustellen.Ein Vorschlag: Fügen Sie abgeleitete Daten wie Variablen und ihre Z-bewerteten Versionen überhaupt nicht in das endgültige Datenobjekt ein, wenn Sie helfen können. Geben Sie stattdessen einfach die Funktionen an, um sie zu erstellen. Abgeleitete Daten sind aus Sicht der Datenverwaltung nur ein Problem.
quelle
Hier ist eine kleine Sache: Ich denke, es ist besser, Unterstriche als Punkte zu verwenden. Der Grund dafür ist, dass die meisten Programmiersprachen im Gegensatz zu R keine Punkte in Bezeichnern unterstützen, aber fast alle Unterstriche unterstützen. Und ich nehme an, Sie möchten, dass Ihr Datensatz für Personen nützlich ist, die R nicht verwenden.
quelle
Zunächst einmal danke ich Ihnen dafür - ich bin sicher, dass viele Menschen es zu schätzen wissen werden, auch wenn nicht viele wissen werden, dass Sie es getan haben.
Die RStudio-Benutzeroberfläche interpretiert (zumindest mit Standardoptionen?) Keine Trennzeichen innerhalb des Variablennamens. Beispielsweise behandelt Eclipse großgeschriebene Teile als separate Wörter, sodass Sie mit Strg + Pfeilen schnell Code im Java-Stil bearbeiten können
ageStandardizedMaleSchool
. Ich kann mir keine besseren Gründe ausdenken, ein Trennzeichen einem anderen vorzuziehen, daher scheinen mir entweder Unterstriche oder Kappen in Ordnung zu sein.Im Allgemeinen empfehle ich, die Variablennamen zu verlängern, anstatt sich an ein komplexes Abkürzungsschema zu halten. Es ist einfach, Tippfehler wie
talk.prob.m.sum
statt zu machentalk.prob.sum.ms
, und es ist schwierig, Fehler in der statistischen Analyse zu erkennen und zu verfolgen. (Etwas verwandt: Ein schönes Sprichwort, das ich in einem Blog gelesen habe, ist, Ihre Variablennamen wie skandinavische Wörter zu schreiben - SickHouse und ToothHealer anstelle von Krankenhaus und Zahnarzt .)Abschließend: Standardisierung, Zentrierung usw. erfolgen in der Regel nach der Datenbereinigung. Wenn es keine Reinigung gibt, sollten Sie dies möglicherweise demjenigen überlassen, der die Daten analysiert. Wenn Sie die Reinigung auch selbst durchführen, geben Sie alle Schritte an, die Sie unternommen haben. Nachfolgende Analysen und Interpretationen können stark davon abhängen.
quelle