¿Cuál es tu estilo preferido para nombrar variables en R? [cerrado]

¿Qué convenciones para nombrar variables y funciones favorecen en el código R?

Por lo que puedo decir, hay varias convenciones diferentes, todas las cuales coexisten en armonía cacofónica:

1. Uso del separador de período, p.

  stock.prices <- c(12.01, 10.12)
  col.names    <- c('symbol','price')

Pros: Tiene precedencia histórica en la comunidad R, prevalente en todo el núcleo R y recomendada porGuía de estilo R de Google.

Contras: Lleno de connotaciones orientadas a objetos, y confuso para los novatos en R

2. Uso de guiones bajos.

  stock_prices <- c(12.01, 10.12)
  col_names    <- c('symbol','price')

Pros: Una convención común en muchos lenguajes de programación; favorecido porGuía de estilo de Hadley Wickham, y utilizado en ggplot2 y paquetes plyr.

Contras: No utilizado históricamente por los programadores R; se asigna de forma molesta al operador '<-' en Emacs-Speaks-Statistics (modificable con 'ess-toggle-underscore').

3. Uso de mayúsculas mixtas (camelCase)

  stockPrices <- c(12.01, 10.12)
  colNames    <- c('symbol','price')

Pros: Parece tener amplia adopción en varias comunidades lingüísticas.

Contras: Tiene un precedente reciente, pero no se utiliza históricamente (ni en la base R ni en su documentación).

Finalmente, como si no fuera lo suficientemente confuso, debo señalar que la Guía de estilo de Google aboga por la notación de puntos para variables, pero mayúsculas y mayúsculas para las funciones.

La falta de estilo consistente en los paquetes de R es problemática en varios niveles. Desde el punto de vista de un desarrollador, hace difícil mantener y extender el código de otros (especialmente cuando su estilo es inconsistente con el suyo). Desde el punto de vista de un usuario R, la sintaxis incoherente incrementa la curva de aprendizaje de R, al multiplicar las formas en que se puede expresar un concepto (por ejemplo, ¿la función de conversión de fechas es Fecha (), Fecha () o Fecha () ()? No, es como. Fecha()).

Respuestas a la pregunta(9)

Su respuesta a la pregunta