Les bons noms de variables sont:
a) court / facile à taper,
b) facile à retenir,
c) compréhensible / communicatif.
Suis-je en train d'oublier quelque chose? La cohérence est quelque chose à rechercher. La façon dont je dirais que les conventions de dénomination cohérentes contribuent aux qualités ci-dessus. La cohérence contribue à (b) la facilité de rappel et (c) la compréhensibilité, bien que d'autres facteurs soient souvent plus importants. Il y a un compromis clair entre (a) la longueur du nom / la facilité de frappe (par exemple en minuscules) et (c) la compréhensibilité.
J'investis un peu de réflexion sur ces questions parce que des milliers de personnes utilisent les données et j'espère que beaucoup utiliseront mon code pour préparer les données et faciliter certains types d'analyse. Les données de l'étude longitudinale sur la santé des adolescents sont divisées en plusieurs ensembles de données. Ma première étape a été de prendre les 227 variables du jeu de données le plus couramment utilisé, de les recoder, de leur donner des noms plus significatifs. Les noms de variables d'origine sont des choses comme "aid", "s1", "s2", que j'ai renommé "aid2", "age" et "male.is". Il existe des milliers d'autres variables dans les autres ensembles de données qui peuvent être fusionnées en fonction des objectifs du chercheur.
Tant que je renomme des variables, je veux les rendre aussi utiles que possible. Voici quelques-unes des questions que j'ai examinées. Jusqu'à présent, je n'ai utilisé que des minuscules et évité d'utiliser des tirets ou des traits de soulignement, et je n'ai utilisé les points que dans un but très spécifique. Cela a la vertu de simplicité et de cohérence et ne pose aucun problème pour la plupart des variables. Mais à mesure que les choses deviennent plus complexes, je suis tenté de briser ma cohérence. Prenez, par exemple, ma variable "talkprobmsum", il serait plus facile de lire comme "talkProbMSum" ou mieux encore "talk.prob.m.sum", mais si je vais utiliser des majuscules ou des points pour séparer les mots, alors ne devrais-je pas le faire pour toutes les variables?
Certaines variables sont enregistrées à plusieurs reprises, par exemple les variables raciales, j'ai donc ajouté .is ou .ih pour indiquer si elles proviennent du questionnaire à l'école ou à domicile. Mais il y a sûrement des répétitions que je ne connais pas encore, serait-il préférable d'ajouter une référence à l'ensemble de données au nom de chaque variable?
J'ai besoin de centraliser le groupe et de normaliser un grand nombre de variables, comme je l'ai fait en ajoutant .zms signifiant z-score par homme et par école.
Toutes les pensées ou ressources générales ou spécifiques sont grandement appréciées. Voir ce référentiel pour une partie de mon code et des statistiques descriptives avec une liste de noms de variables. J'ai brièvement décrit la raison du partage de ce code ici , et il a été rendu public un peu ici , mais ces deux derniers liens ne sont pas vraiment pertinents pour la question des conventions de dénomination des variables. Ajouté: J'ai modifié cela légèrement, principalement en déplaçant simplement un paragraphe, pour essayer d'éviter une partie de la confusion évidente dans les commentaires. Merci pour vos pensées!
Ajouté 05/09/2016: Cela vaut la peine de noter Guide R Style Hadley Wickham et Guide R Style Google ... Hadley dit:
Les noms de variable et de fonction doivent être en minuscules. Utilisez un trait de soulignement (_) pour séparer les mots d'un nom.
Google dit:
N'utilisez pas de traits de soulignement (_) ou de tirets (-) dans les identificateurs. Les identificateurs doivent être nommés conformément aux conventions suivantes. La forme préférée pour les noms de variables est toutes les lettres minuscules et les mots séparés par des points (variable.name), mais variableName est également accepté; les noms de fonction ont des majuscules initiales et aucun point (FunctionName); les constantes sont nommées comme des fonctions mais avec un k initial.
R
, mais plutôt de pratiques appropriées pour documenter et utiliser les données.