Want to create interactive content? It’s easy in Genially!

Get started free

Programación en R

Sofía Rodríguez Centeno

Created on November 25, 2023

Start designing with a free template

Discover more than 1500 professional designs like these:

Teaching Challenge: Transform Your Classroom

Frayer Model

Math Calculations

Interactive QR Code Generator

Piñata Challenge

Interactive Scoreboard

Interactive Bingo

Transcript

Programación en R

¿Qué es R?

R es un entorno de software libre y un lenguaje de programación interpretado. Generalmente, su uso se enfoca en la computación estadística y gráfica. Tiene la capacidad de almacenar gráficos, matrices, variables, etc. que haya interpretado como objetos y realizar operaciones aritméticas con ellos.

FUNCIONES TRIGONOMÉTRICAS

FUNCIONES LOGARÍTMICAS

OTRAS FUNCIONES

OPERADORES DE RELACIÓN

MATRICES

OPERADORES ARITMÉTICOS Y CONSTANTES NUMÉRICAS

VECTORES

R para principiantes

PAQUETES

COMANDOS BÁSICOS EN R

10

DATA.FRAME

15

EJEMPLOS RESUELTOS

11

REPRESENTACIÓN GRÁFICA

14

GENERACIÓN DE SCRIPT

12

CONDICIONES

13

BUCLES

COMANDOS BÁSICOS DE R

  • n<-3+2 # para dar un valor a un constante (se almacenará la operación hecha en la constante que elijamos) (también se puede poner como n=3+2)
  • n # Para conocer el resultado pondremos el nombre del objeto (si se le otorga un valor nuevo a la variable se perderá la información anteriormente otorgada)
  • print(n)
  • rnorm(N) # generan N datos al azar, tomando por defecto 0 y 1 si no se especifica la media y la desviación
  • runif(N) # permite obtener N números aleatorios en el intervalo [0, 1]
  • 100*runif(10) # si deseamos obtener 10 valores aleatorios en [0, 100]
  • sample(1:50,7,replace=TRUE) # permite obtener M números enteros aleatorios en el intervalo [a, b] con o sin repetici´on
  • ls() # permite hacer una lista de todos los objetos del directorio del trabajo
  • ls.str() # permite observar los objetos con los datos que contienen
  • ls(pat="m") # listar todos los objetos cuyo nombre contenga un carácter en particular
  • ls(pat = "^n") #solo aparezcan aquellos objetos cuyo nombre comienza con un car´acter en particular
  • rm(pp) #permite eliminar objetos de la memoria

Ejemplos

MATRICES

  • A<-matrix(c(3,4,5,6), nrow = 2, ncol = 2) # matriz con 2 lineas y 2 columnas
  • A[2,1] # para acceder a el valor de posición 2:1
  • A<- cbind(x1,x2,x3) # generar una matriz combinando vectores x1 x2 x3 en forma de columnas
  • B<- rbind(x1,x2,x3) # generar una matriz combinando vectores x1 x2 x3 en forma de fila
  • M=A%*%C # para hacer un producto entre matrices
  • M=A*C # para multiplicar las matrices de misma dimensión elemento a elemento
  • t(A) # transpuesta de la matriz A.
  • det(A) # determinante de la matriz A.
  • solve(A,b) # solución del sistema de ecuaciones Ax=b.
  • solve(A) # inversa de la matriz A.
  • svd(A) # descomposición en valores singulares.
  • qr(A) # descomposición QR.
  • eigen(A) # valores y vectores propios.
  • diag(b) # matriz diagonal (b es un vector).
  • diag(A) # matriz diagonal (A es una matriz).

Ejemplos

VECTORES

  • c() # vector
  • z1<-c(10, -3.5, "pepito") # podemos conjuntar caracteres y valores numéricas en el mismo vector pero todo el vector es de caracteres, no podré sumar los elementos
  • z1[3] # para acceder al tercero elemento de z1
  • vector1%*%vector2 # producto escalar de los dos vectores

REPRESENTACIÓN GRÁFICA

  • plot(meses,produccion) #representar los puntos en un gráfico bidimensional
  • plot(meses,produccion,type="b",xlab="meses del a~no", ylab="producción de tomates en Tm") # unir los puntos mediante una recta y colocar títulos a los ejes
  • x=1:50 ##generar una sucesión de números enteros entre 1 y 50
  • f=x^2 ## crear un función
  • plot(x,f) ## para generar el gráfico de la función f
  • plot(x,f,type="l") ##si queremos que una los puntos mediante una línea
  • plot(x,f,type="b") ## si deseamos que aparezcan tanto líneas como los puntos
  • plot(x,f,main ='titulo') # para añadir un título
  • plot(x,f,col = 'red')#para poner la curva en rojo
  • par(new=TRUE) # utilizar antes de generar otra curva sobre el mismo grafico
  • legend(-3,1, legend=c("sin(x)", "cos(x)"),col=c("blue", "red")) # para andir une leyenda al grafico
  • par(mfrow=c(nrow,ncol)) # dividir una ventana en varias partes

EJEMPLOS

  • menor: <
  • menor o igual: <=
  • mayor: >
  • mayor o igual: >=
  • distinto: !=
  • igualdad lógica: ==

Bucle while: ejecuta una serie de comandos (dentro del bucle) mientras se cumpla una condición lógica. while (Condición) { Proceso } Bucle for: permite ejecutar una serie de instrucciones varias veces de forma repetitiva

  • abs(x) #valor absoluto.
  • sqrt(x) #raíz cuadrada.
  • factorial(x) #factorial.
  • choose(n,x) #binomio de Newton $n$ sobre $x$.

AA<-data.frame(alumno, peso, estatura) # sirve para almacenar datos de diferentes tipos

  • log(x) # logaritmo neperiano.
  • log10(x) # logaritmo en base 10.
  • log2(x) # logaritmo en base 2.
  • logb(x,base) # logaritmo en cualquier base.
  • exp(x) # función exponencial.

Con el fin de desarrollar programas en R resulta interesante de cara a la escritura de programas. Para ello, en la barra de herramientas, haremos: File -> New script En la ventana que se abrirá escribiremos el programa. Una vez escrito lo guardamos Archivo -> Guardar como Para ejecutarlo, tenemos dos opciones: Opción 1: En la Consola escribimos source("Nombre del programa") Opción 2: Con el archivo .R abierto, en la barra de herramientas: Editar -> Ejecutar todo ...

  • Recomendable ver los videos explicativos
Video introductorio: https://www.youtube.com/watch?v=TzrxQZEuR-k Ejercicio 1: https://www.youtube.com/watch?v=ufwDUvJ_HdY
  • Además hemos hecho videos sobre las prácticas del curso:
Práctica 1: https://www.youtube.com/watch?v=MxR5KIkTCrQ Práctica 2 bucles: https://www.youtube.com/watch?v=GKQWXfbWHeg Práctica 2 bucles animados: https://www.youtube.com/watch?v=7MGZxd2kfJw Práctica 3 IMC: https://www.youtube.com/watch?v=_Z2QW1aOycA 2 y 3 gráficas: https://www.youtube.com/watch?v=BPmFyip3wzk Práctica 4: https://www.youtube.com/watch?v=knSwhfs-_Tc Práctica 5: https://www.youtube.com/watch?v=YJ_ZnW3idvk Examenes resueltos 1 https://www.youtube.com/watch?v=ZEVR-5FSSBw 2 https://www.youtube.com/watch?v=YZgkxhhoxGo
  • sin(x) #seno
  • cos(x) #coseno
  • tan(x) #tangente trigonométrica
  • asin(x) #arco seno
  • acos(x) #arco coseno
  • atan(x) #arco tangente

library () # para saber que paquetes hay instalados

  • suma: +
  • resta: -
  • multiplicación: *
  • División: /
  • elevar a una potencia: ^
CONSTANTES NUMÉRICAS
  • pi # representa al número pi
  • exp(1) # representa el número e
  • nem # representa n x 10^m (ejemplo: 5e4=5 * 10^4)

if (Condición 1){ Proceso 1} else if (Condición 2){ Proceso 2} else if (Condición 3){ Proceso 3} ... else if (Condición n){ Proceso n}else{ Proceso n+1 }