Variablennamen in einem Dataset verbessern


11

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.


+1 für die Einrichtung eines öffentlichen Repositorys für Forscher, obwohl diese Frage wirklich zum Stapelüberlauf gehört.
Nico

6
Warum sollte diese Frage bei SO, @nico besser sein? Mir scheint es nicht um Programmierung oder gar um Programmierung zu gehen R, sondern um geeignete Methoden zur Dokumentation und Verwendung von Daten.
whuber

4
@whuber: Ich verstehe deinen Standpunkt. Als ich die Frage las, sah ich sie jedoch als "Wie soll ich meine Variablen aufrufen?", Was für mich eher nach einer Programmierangelegenheit und nicht nach Statistik klingt ... Beim zweiten Gedanken ist es auch wahr, dass das Publikum hier näher ist das, was die tatsächlichen Daten als das von SO verwendet.
Nico

2
+1, ich denke, das ist eine großartige Frage und ein großes Lob dafür
gung - Reinstate Monica

2
Ich denke das sollte offen bleiben.
Gung - Reinstate Monica

Antworten:


4

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. Hmiscdie Sie verwenden, und memisc. 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.


Sie sagen, dass die Variablennamen nicht viel ausmachen, solange sie gut dokumentiert sind ... Ich möchte keinen Berg aus einem Maulwurfshügel machen, aber ich denke, dass sie bis zu einem gewissen Grad wichtig sind. Variablennamen, die schwer zu merken oder schwer zu tippen sind, verursachen in der Forscherzeit echte Kosten. Vor allem, wenn tausend Forscher dieselben Variablennamen verwenden. Vielen Dank für Ihre anderen Hinweise :)
Michael Bishop

4

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.


1

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.sumstatt zu machen talk.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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.