Test de iniciación a R StudioOnline version
Desde el grupo M10 queremos brindarte la oportunidad de desafiar tus conocimientos sobre el programa R Studio. Sabemos que en el examen podrás tener todas las chuletas que quieras, sin embargo, hay comandos y operaciones básicas que creemos que deberías conocer, así que aquí te dejamos este test para que te pongas a prueba a ti mismo!!
Mucha suerte!!
1
Siempre que tengamos que calcular el valor del interior de un bucle o una función, si el resultado va a ser un vector o una matriz, tendremos que crear un “espacio” para el previamente, que será un vector o matriz de ceros:
2
Para crear un vector de 0 que tenga 5 elementos, usaremos el siguiente comando (puede haber más de una opción correcta):
Escoge una o varias respuestas
a
c(0,5)
b
numeric(5)
c
i=5 numeric(i)
d
i=5 c(i)
3
En caso de que queramos usar la conjunción “o” para la suma de dos vectores lógicos o booleanos, deberemos usar el símbolo:
4
Cuando queremos que un vector vaya desde un valor “a” hasta un valor “b” y esté dividido “N” veces, deberemos usar la secuencia “seq(a,b,length.out=N)”:
5
Si queremos crear una matriz de ceros 3x3, deberemos de usar el siguiente comando:
Escoge una o varias respuestas
a
M<- matrix(0,nrow=3,ncol=3)
b
M<-matrix(0,ncol=3,nrow=3)
c
n=3 // M<-matrix(0,nrow=n,ncol=n)
d
n=3 // M<-matrix(0,ncol=n,nrow=n)
6
Un programa en R studios se puede dividir en tres partes que son: la entrada donde pongo todas mis variables, subprogramas…, el proceso donde indico mis instrucciones y cálculo los resultados, la salida donde expongo mis resultados mediante gráficas o imprimiendolos en la consola:
7
Cuando creemos un dataframe o tabla, y queramos acceder a alguno de sus elementos escribiremos:
a
df{fila elemento, columna elemento}
b
df$[fila elemento, columna elemento]
c
df$(fila elemento, columna elemento)
d
df(fila elemento, columna elemento)
8
Para multiplicar una matriz A por una matriz B de la forma Hadamard, tendremos que usar el comando:
a
Resultado = A %*% B
b
Resultado = A*B
c
A y B son correctas
d
Ninguna es correcta
9
El comando scan(), se encarga de escanear el vector que se le indique y así es capaz de hacer la suma de todos sus elementos:
10
Siempre que creemos una variable, deberemos de tener en cuenta los siguientes aspectos:
- Solo se admiten: letras, números,_ o espacios.
- NO puede empezar por un número.
- Evitar palabras reservadas como if, for, while…
11
¿Qué estructura de control de flujo en R es la más adecuada para asegurar que un bloque de código se repita continuamente cuando no se conoce el número de iteraciones?
a
for
b
while
c
else
d
if else
12
¿Qué estructura ejecuta instrucciones cuando se conoce el número de iteraciones?
a
switch
b
while
c
for
d
if
13
En R, ¿cómo recorro i desde 1 hasta n en un bucle?
a
for (i in 1:n)
b
for (i = 1 to n)
c
for (i : 1, n)
d
for (i in range(1, n))
14
¿Verdadero o Falso: en un While se usa la condición contraria para que se cumpla?
15
¿Cómo obtengo la longitud de un vector V en R?
a
length(V)
b
long(v)
c
len(V)
d
nrow(v)
16
Si necesito el código de un programa A para un programa B, ¿tengo que copiar todo el código??
17
Si tenemos una matriz M y queremos acceder a la fila 5, columna 3, ¿qué sintaxis es correcta?
a
M[5; 3]
b
M[3, 5]
c
M[5, 3]
d
M(5, 3)
18
¿Cuál es la estructura de control en R que se utiliza cuando tienes múltiples condiciones exclusivas (ej. Condición 1, si no, Condición 2, si no, Condición 3)?
a
if / else if / else
b
while / break
c
switch()
d
for / next
19
Para llamar a un subprograma desde el principal, ¿qué comando ayuda a localizarlo?
a
source("ubicación")
b
import(function)
c
library("ubicación")
d
call(function)
20
Si una condición simple (ej: x > 10) debe ejecutarse una vez, ¿qué estructura usar?
a
if (x > 10) {bloque de instrucciones} else { otro bloque de instrucciones}
b
cat(condición, resultado)
c
for (i in rango) {bloque de instrucciones}
d
while (condición) {bloque de instrucciones}
Explicación
2
en la opción de i=5 c(i), estaríamos creando un vector de una coordenada, de valor 5. En la opción c(0,5), estaríamos creando un vector de dos coordenadas, de valor 0 y 5.
3
! significa negación, \ no tiene función en lógicos o booleanos, & sería la conjunción "y"
4
podremos usar la opción de lenght en lugar de lenght.out
7
df{fila elemento, columna elemento} (No poner “{}”)
df$(fila elemento, columna elemento) (No poner “()”)
df(fila elemento, columna elemento) (No poner “()” y falta $)
8
multiplicación Hadamard significa elemento a elemento
9
el comando scan se utiliza para pedir un vector al usuario y que este lo de a través de la consola
11
Usamos el bucle while porque este es infinito, y es el que necesitamos para crear una estructura de control ya que no sabremos cuando se van a cumplir las condiciones que determinemos
12
porque cuando defines el bucle for defines el número de vueltas que quieres que de
14
para que la entrada salga del bucle, debe pasar el control, es decir, tiene que cumplir una serie de condiciones. Utilizamos el bucle while para no permitir el paso si la entrada NO cumple las condiciones que implantamos, es decir, hace LO CONTRARIO a lo que le decimos
15
el comando correcto es lenght
16
Existen los subprogramas, los cuales están en función de distintas variables y se pueden guardar en tu ordenador. Si más adelante necesitases ese programa, puedes "llamarlo" con el comando source y realizará el código con las variables que le metas.
18
- for / next → sirve para repetir un bloque un número conocido de veces, no para evaluar condiciones.
-switch() → se usa cuando se compara una única variable contra valores concretos (casos), no para condiciones lógicas generales.
- while / break → controla repetición basada en una condición, no selección entre alternativas.
por lo tanto tienes que utilizar if/else if/else
19
source ("ubicación") es el comando correcto
20
-cat(...) → solo imprime texto, no controla el flujo del programa.
-for (...) → se usa para repetir un bloque un número determinado de veces.
- while (...) → repite un bloque mientras la condición sea verdadera, no es ejecución única.
por lo tanto el comando que tienes que utilizar es el if... else