
PROGRAMAFICIÓN
R-suelve tus dudas
PRÁCTICA 3:
Representación gráfica de funciones y bucles anidados en R
EJERCICIO 1

SOLUCIÓN:
#vector meses#
meses=seq(1,10,1)
#vector manzanas#
manzanas=c(100,95.5,45.23,68.14,30.60,25.55,12.01,16.48,32,87.1)
#definir el gráfico#
plot(meses,manzanas,type='b',col='red',xlab = 'meses',ylab = 'manzanas',main = 'producción mensual de manzanas',pch=4)

¡¡CUIDADO!!
ERRORES COMUNES:
-Poner un igual (=) después de plot
-No poner comillas, dobles o simples (‘’,” ”) cuando es debido
-No escribir c() antes de definir un vector
-Escribir n() en vez de c() pensando en que la n significa número
EJERCICIO 2

SOLUCIÓN:
#1)#
v=c(12,-3,5,18.7)
w=c(12,.25,77,exp(2))
k=0
for(i in 1:length(v)){
k[i]=v[i]+w[i]
}
k
v+w
#2)#
v=c(12,-3,5,18.7)
w=c(12,0.25,77,exp(2))
l=0
for (i in 1:length(v)) {
l =l+v[i]
}
l
#3)#
v=c(12,-3,5,18.7)
w=c(12,.25,77,exp(2))
g=0
esc=0
for (i in 1: length(v)) {
g=g+v[i]*w[i]
esc=v%*%w
}
g
esc
#4)#
v=c(12,-3,5,18.7)
w=c(12,.25,77,exp(2))
b=0
esc=0
for (i in 1: length(v)) {
b[i]=v[i]*w[i]
}
b
¡¡CUIDADO!!
ERRORES COMUNES:
-Escribir lenght en vez length
-Poner comas (,) en números decimales en vez de puntos (.)
-No definir los vectores antes de realizar cualquier bucle
-Olvidarse de cerrar el bucle con la llave (})
-No poner los corchetes cuando te piden algo de las componentes ([i])
#5)#
v=c(12,-3,5,18.7)
w=c(12,.25,77,exp(2))
z=0
esc=0
for (j in 1: length(v)) {
z[j]=v[j]*2*w[j]
}
z
#6)#
v=c(12,-3,5,18.7)
w=c(12,.25,77,exp(2))
suma=0
for (i in 1:length(v)) {
suma =suma+v[i]
}
g=0
for (i in 1: length(v)) {
g=g+v[i]*w[i]
}
r=c('suma','prod escalar')
q=c(suma,g)
t=data.frame(r,q)
names(t)=c('Operaciones','resultados')
t
> t
Operaciones resultados
1 suma 32.7000
2 prod escalar 666.4253
EJERCICIO 3

SOLUCIÓN:
v=c(12,-3,5,18.7)
w=c(12,.25,77,exp(2))
A1=rbind(v,w)
A2=cbind(v,w)
m=nrow(A1)
n=ncol(A2)
p=ncol(A1)
C=matrix(c(0),nrow = m,ncol=n)
for (i in 1:m) {
for (j in 1:n) {
for (k in 1:p) {
C[i,j]=C[i,j]+A1[i,k]*A2[k,j]
}
}
}
C
A1%*%A2
Ds=matrix(c(0),nrow = 2,ncol=2)
Dm=matrix(c(0),nrow = 2,ncol=2)
D=matrix(runif(4,0,50), nrow = 2,ncol = 2)
for (i in 1:2) {
for (j in 1:2) {
Ds[i,j]=C[i,j]+D[i,j]
}
}
for (i in 1:2) {
for (j in 1:2) {
Dm[i,j]=C[i,j]*D[i,j]
}
}
Dm
C*D
Ds
C+D
¡¡CUIDADO!!
ERRORES COMUNES:
-Olvidarse de cerrar el bucle con la llave (})
-Olvidarse de poner n en ncol o en nrow
-Poner mal la operación multiplicación (%*%)
-Olvidarse de inicializar la matriz en 0 poniendo c(0)
Explicación en vídeo:
Para más información se puede acceder al repositorio a través del enlace