¿Qué IDE para R prefiere, RStudio o Microsoft Visual Studio, o usa ambos? ¿Por qué?

Bueno … mi opinión va a ser muy parcial, ya que estoy totalmente enamorado de los productos Microsoft Visual XYZ y los usaré desde el principio (Visual C ++ 6 en el pasado remoto, Visual Studio hoy). Personalmente, considero que Visual Studio de hoy es el mejor entorno de programación * jamás creado por nadie . Pero el módulo R actual carece de alguna funcionalidad que es crucial para mí. Por lo tanto, necesito usar RStudio, que también me gusta mucho.

/ * Lo uso para programar aplicaciones de escritorio y web en C #, hacer informes en la plataforma de Reporting Services, administrar y consultar bases de datos de SQL Server. / /

Solo puedo esperar que algún día pueda permanecer completamente dentro del ecosistema VS, pero aún no hoy.

OK, todos conocemos el alcance de la funcionalidad proporcionada por RStudio. Este es el estándar de oro, una línea de base para cualquier otro IDE para R

¿Pero qué hay de VS? Déjame responder a tus preguntas una por una:

Depuración . VS tiene el mejor depurador que he visto. Y esto también se aplica a R. Me encanta la capacidad de VS: inspeccionar variables “visualmente” y mostrar su contenido en una cuadrícula. Pero RStudio me permite hacer lo mismo.

Alguna prueba. Vamos a depurar esta función:

Funciona de la siguiente manera:

> fn1 (1: 3, 3: 1, “hey”)
p1 p2 p3 p4 p5
1 1 3 oye 4 soy 1
2 2 2 oye 4 soy 2
3 3 1 oye 4 soy 3

En la captura de pantalla podemos ver que las funciones con puntos de interrupción en el interior están marcadas con un punto rojo (aquí: fn1). ¡Bueno!

Dentro de la función más anidada (en sapply):

Bien, ¿no es así?

Probemos esto en Visual Studio. Comencemos a depurar:

En cuanto a lo bueno. Comenzó y enumeró muy bien los elementos en el entorno de llamada y los parámetros. Ahora pasemos a la función más anidada (en sapply):

OKAY. Ambos IDEs hacen bien su trabajo. ¿Qué realiza / muestra mejor? Es una cuestión de tu gusto. Me gustan ambos.

Por cierto, VS puede mostrar el contenido de una variable cuando se pasa el cursor del mouse sobre ella:

  • Vista previa de objetos R. Creemos algún objeto y comparemos cómo se muestra en ambos IDE:

OK, hace el trabajo. No es muy elegante, solo una salida de la función ” str “.

> str (datos)
Lista de 6
$ df: ‘data.frame’: 3 obs. de 2 variables:
.. $ a: int [1: 3] 1 2 3
.. $ b: chr [1: 3] “A” “B” “C”
$ vec: int [1: 3] 1 2 3
$ m: int [1: 3, 1: 3] 1 2 3 4 5 6 7 8 9
$ f: función (p)
..- attr (*, “srcref”) = Clase ‘srcref’ atómica [1: 8] 4 20 4 39 20 39 4 4
.. .. ..- attr (*, “srcfile”) = Clases ‘srcfilecopy’, ‘srcfile’
$ lst: Lista de 3
.. $ num: num 1
.. $ chr: chr “A”
.. $ df: ‘data.frame’: 1 obs. de 3 variables:
.. .. $ a: num 1
.. .. $ b: chr “A”
.. .. $ c: logi NA
$ NA: logi NA

Ahora Visual Studio:

Bueno, puedes estar de acuerdo o no, pero esto me parece mucho más legible. Puedo plegar / desplegar cualquier “rama” del árbol de estructuras anidadas. También puede exportar los datos a CSV directamente desde aquí. No funciona con listas, pero es bastante lógico conocer la naturaleza anidada de ellas. Bastante bien, ¿eh?

Tan lejos, tan bueno. Enserio ?

Algo salió mal. VS no reconoció `NA` como el nombre R válido. De hecho, no hay nombres no válidos en R (usando la “notación”).

¿Pero es este un gran problema? No lo creo, ¿quién demonios nombraría variables como “NA”? ¿Para qué?

Como podemos ver a continuación, VS reconoce la “notación correctamente”, por lo que solo la “NA” genera un problema. No me importa, de verdad.

¿Qué más agradable podemos ver? ¡Todas las columnas son redimensionables! ¿Por qué RStudio todavía no puede hacer esto? No lo entiendo …

VS:

RStudio:

Pero RStudio tiene otra habilidad súper genial: autocompletar “nombres extraños”:

Visual Studio no es tan inteligente como RStudio. Reconoce el nombre de la variable y lo muestra en la lista, pero al escribir “12 … [ctrl] + [espacio]” no se desplaza la lista. Eso es malo: necesito desplazar la lista manualmente.

  • Compatibilidad con RMarkdown : ambos IDE permiten generar documentos a partir de archivos RMD. Sabemos cómo RStudio maneja RMD y portátiles, así que permítanme centrarme solo en VS.

OK, entonces se agrega el soporte básico. Probémoslo:

Bueno. Pero la gran ventaja de RStudio es el soporte para portátiles interactivos , podemos previsualizar RMD ad hoc . Los cuadernos RMD aún no son posibles con VS.

Hay un complemento que muestra archivos MD (markdown), pero el contenido debe ser pregenerado, solo texto estático . No puede simplemente colocar el código R en el archivo MD y esperar que se ejecute el código (esto se puede hacer con RMD). Si desea mostrar un gráfico, debe existir como una imagen normal generada antes:

  1. Prepara el gráfico

> png (“c: /tmp/plot1.png”)
> trama (1:10)
> dev.off ()
dispositivo nulo
1

2. Incruste como un archivo de imagen estática

Esto definitivamente no es una opción. Como dije, el soporte para RMD es muy básico en VS, limitado solo a llamar a pandoc desde el menú, nada más.

  • Vista previa de marcos de datos : muy básica, sin filtrado, como en RStudio.

  • Soporte para la creación de paquetes : aún no hay soporte (y no estoy seguro de si se va a agregar)
  • Soporte para gráficos : solo un soporte estándar. Se agregó una barra de herramientas muy agradable que presenta la historia de los gráficos, dividida por dispositivos gráficos. Realmente me gusta esta característica.

  • Soporte para múltiples monitores : esto es por diseño en Visual Studio. Cada panel “acoplable” se puede mover a otro monitor. ¡No tiene precio al codificar! Me encantaría ver esta función en RStudio.
  • Compatibilidad con el sistema de versiones : Git es compatible desde el primer momento. SVN – con complementos (Subversion para Visual Studio, integración de Visual Studio · TortoiseSVN)

Por último, pero no menos importante, VS es visiblemente más lento que RStudio en computadoras con poca cantidad de RAM y CPU más lenta. Esto se debe a que VS es un IDE enorme y multipropósito, y requiere una máquina poderosa para funcionar sin problemas. Bueno, eso no es un gran problema para el desarrollador de software o el científico de datos, que generalmente poseen unidades poderosas. Por otro lado, RStudio se puede usar en modo portátil, sin instalación y es mucho más liviano. Si planea llevar todo el entorno de programación con usted en una memoria USB (lo hago), entonces RStudio es la única opción. Si ya juega con las soluciones de Microsoft, probablemente tenga todo preinstalado y listo para funcionar. Todo depende de tu perfil.

Yo uso RStudio. Es relativamente ligero y está integrado con paquetes de primer nivel, como Shiny. Siento que RStudio es mantenido por los estadísticos y las características que se agregan satisfacen las necesidades de los estadísticos. Además, por ahora la sobrecarga de teclas de acceso rápido de aprendizaje, todo el entorno, etc. es demasiado grande si considero los costos / beneficios actuales.

Honestamente, nunca fui un gran admirador de MS Visual Studio (lo usé durante los cursos de C ++ en mi universidad), pero ciertamente ganará popularidad ya que R es parte de SQL Server ahora.

Prefiero RStudio Utilicé VS para C # pero para la programación de R es excesivo en muchos puntos. Mi uso específico con RStudio es escribir scripts en el cuaderno. Lo mismo puede exportarse posteriormente a PDF o formatos de documentación. RStudio Notebook es una función práctica. Si uso RStudio para VS, tendría que cambiar mucho flujo de trabajo. Supongo que sobre esa base, diría que quédate con lo que funciona para ti.

More Interesting

Cómo aprender SAS o R por mí mismo

¿Cuál es el alcance futuro del programa IIM C PGDBA?

¿Qué tan difícil es conseguir un trabajo como científico de datos en Silicon Valley o Nueva York si estudiaste fuera del estado?

¿Por qué Udacity se enfoca en Python para el análisis de datos y el aprendizaje automático en lugar de R?

Cómo detectar generalmente un fraude usando análisis

¿Cuáles son los mejores servicios web para el análisis remoto de datos?

¿Es manejable tomar el curso de especialización en ciencia de datos de John Hopkins en Coursera sin experiencia en programación?

¿Qué cantidad de datos ha consumido al usar Jio 4g?

¿Cuál es la diferencia entre el análisis de datos con Python y el análisis de datos con Python en Apache Spark?

¿Cuál es su definición personal para big data?

¿Cuáles son los mejores cursos de ciencia de datos en iTunes U?

¿Cuál de las habilidades de ciencia de datos te paga más?

¿Cuál es la conexión entre la ciencia de datos y la inteligencia artificial? ¿Es aprendizaje automático?

Si todos mis estudiantes por debajo del promedio alcanzaron el promedio de la clase, ¿cuál será el aumento porcentual en el promedio de la clase?

¿Qué dicen los grandes datos sobre el ajedrez? ¿Hay algún algoritmo numérico simple para evaluar las posiciones de ajedrez que no impliquen calcular árboles de posición? ¿Tienen éxito al predecir los resultados de los juegos de ajedrez entre jugadores de habilidades similares?