¿Qué tan bien sabes el lenguaje de programación R?

Como una herramienta de data science, el lenguaje de programación R está experimentando un crecimiento masivo de usuarios, por sí solo y en relación con muchos otros idiomas predominantes.

Aquí hay un post interesante sobre el crecimiento del lenguaje R que ilustra esto.

R está experimentando un crecimiento masivo recientemente.

Una de las razones clave para esto es que el lenguaje de programación R ha dado el salto al sector empresarial, y muchas empresas y organizaciones fuera de la academia ahora tienen el lenguaje de programación R en los kits de herramientas de al menos algunos de sus profesionales de análisis.

Otra razón es el aumento del acceso a la formación fácil de usar en R a través por ejemplo del Datacamp .

Finalmente, la adopción ha sido ayudada por la accesibilidad de una gran comunidad de programadores del lenguaje de programación R para ayuda y asesoramiento a través de StackOverflow (aunque los novatos a menudo profesan temor a publicar preguntas por riesgo de ser “golpeados” intelectualmente) abajo ‘).

Tal vez, como era de esperar, este crecimiento masivo en la adopción ha llevado a una gama más amplia de habilidades genuinas R .

La base de usuarios del lenguaje de programación R ahora abarca desde un extremo del espectro donde los individuos tienen una comprensión profunda de la base R y las complejidades subyacentes y la lógica del lenguaje, hasta el otro extremo donde los individuos copian y pegar el código, unirlo mediante prueba y error sin entender apropiadamente lo que sucede debajo del capó.

Entonces, para divertirme más que cualquier otra cosa, he reunido diez preguntas simples que prueban qué tan bien alguien sabe lo que son haciendo en R .

Los elegí para que sean lo más simples posible, pero también para incluir algunas trivialidades que solo un usuario apasionado y profundo del lenguaje de programación R podría conocer. No pretendo que esto sea exhaustivo, y de hecho me encantaría que otros contribuyan a esto con el tiempo (¡solo recuerde, no lo dude!).

No los utilice como preguntas para la entrevista. No están destinados a probar el conocimiento de trabajo R pero puede resultarle interesante hacer que sus colegas o compañeros de trabajo se realicen pruebas.

Finalmente, no acceda a su R sesión para tratar de responder a estos. Eso sería hacer trampa, y nosotros R los usuarios somos un grupo honesto, ¿no?

Diez preguntas divertidas para probar qué tan bien conocen el lenguaje de programación R

Pregunta 1: x <- vector () . ¿Cuál es el tipo de datos de x?

Pregunta 2: y <- 2147483640L: 2147483648L. ¿Cuál es el tipo de datos de y? ​​

Pregunta 3: z <- 0/0 . ¿Cuál es la clase de z?

Pregunta 4: Si v <- complejo (1,1), ¿cuál es el resultado de c (v, TRUE)?

Pregunta 5: Una estructura de datos 1-D y 2-D homogénea en R se denomina vector atómico y matriz respectivamente. ¿Cuál es el nombre equivalente para a) una estructura de datos heterogénea 1-D, b) una estructura de datos heterogéneos 2-D yc) una n- estructura de datos dimensional donde n> 2 ?

Pregunta 6: ¿Cuál es la importancia de los términos Trick or Treat y Warm Puppy hasta R? ¿Por qué?

Pregunta 7: ¿Qué sucederá en cada uno de los siguientes casos si el paquete dplyr no está instalado?

Caso 1:
biblioteca (dplyr)
mtcars%>% group_by (cyl)%>% summarize (mean_mpg = mean (mpg))

Caso 2:
require (dplyr)
mtcars%>% group_by (cyl)%>% summarize (mean_mpg = media (mpg))

Pregunta 8: a <- c (2, “NA”, 3). ¿Cuál es el resultado de sum (is.na (a))?

Pregunta 9: ¿Cuál es el resultado de los datos ()?

Pregunta 10: ¿Cuál es el resultado? salida de ronda (0.5)?

Alguna vez se preguntó sobre esos apodos del lenguaje R?

Respuestas

  1. x es lógico. Este es el tipo predeterminado para un vector atómico.
  2. y es un doble, a pesar del uso de la notación enteraL en y. Esto se debe a que el valor máximo para un entero en R es 2147483647. Por lo tanto, el último valor de y se fuerza a un doble y, como los vectores atómicos son homogéneos, el vector completo se fuerza a un doble. [19659030] z es de la clase numérica.
  3. La salida es un vector con dos elementos, ambos 1 + 0i. Tenga en cuenta que el primer argumento de complex () es length.out que indica la longitud del vector complejo. Tan complejo (1,1) evalúa a 1 + 0i pero complejo (1,1,1) se evalúa a 1 + 1i. Tenga en cuenta que TRUE será forzado a un tipo complejo equivalente a 1 + 0i .
  4. a) List; b) Marco de datos; c) Array
  5. Son los apodos de las versiones R . Se tomaron de las viejas historietas Peanuts .

  6. En el caso 1, la primera línea generará un error que indica que no hay tal paquete instalado, y la ejecución se detendrá. En el caso 2, la primera línea generará una advertencia, pero la segunda línea se ejecutará y generará un error porque no puede encontrar%>% (suponiendo que magrittr no esté conectado). Esta es una buena ilustración de la diferencia entre library () y require (). library () adjunta un paquete, pero require () evalúa si se ha adjuntado un paquete, evaluando a TRUE si se ha adjuntado y a FALSE de lo contrario. El uso de require () puede dificultar la depuración de su código.
  7. Esto se evalúa como cero. Tenga en cuenta que “NA” es una cadena de caracteres y no un valor que falta.
  8. La salida es una lista de todos los conjuntos de datos incorporados en R.
  9. La salida es cero. R sigue el estándar IEC 60559, donde redondea .5 al número par más cercano .

¿Que puntaje obtuvo?

Si obtuvo 2 o menos necesita urgentemente un tutorial en base R para evitar pasar demasiado tiempo resolviendo errores innecesarios en su código.

Si obtuvo 3-5 es probable que tenga un nivel de conocimiento similar al de la mayoría Usuarios de R .

6-8 es una muy buena puntuación usted claramente conoce muchos de los principios y estructuras subyacentes de la R lenguaje de programación.

Si obtuvo 9 o 10 es bastante posible que sea el gemelo de Hadley Wickham. Probablemente conoces muchas trivias R innecesarias, y podrías ser un R pedante. Es muy probable que estés haciendo mucho ruido en StackOverflow.

 

Author: sitio big data

Loading Facebook Comments ...

Leave a Reply

Your email address will not be published. Required fields are marked *