top of page

VECTORES

Vectores

Apuntes

¿QUÉ ES UN VECTOR?

Los vectores son estructuras que permiten almacenar conjuntos de valores. En ese sentido, se asemejan a los vectores matemáticos, donde se almacenan diferentes valores numéricos en las diferentes posiciones de un vector, las cuales quedan representadas por diferentes subíndices. Sin embargo, en los lenguajes de programación, los vectores pueden almacenar no solo números, sino también cadenas de caracteres (palabras). Mientras que los caracteres numéricos se pueden almacenar simplemente escribiéndolos, las cadenas de caracteres deben ir entrecomilladas. 

¿Cómo creo vectores?

Para generar vectores se utiliza la función concatenar que, como su propio nombre indica, une o relaciona los diferentes elementos en un vector. Su sintaxis es:

 

                                                                                                      c ( )

 

Los elementos se almacenan en el vector en posiciones ascendentes en una unidad, siendo la posición del primer elemento la 1. Así, se puede acceder a los diferentes valores almacenados escribiendo su nombre seguido del índice de su posición:

 

                                                                              v [1] = elemento 1 del vector “v”

 

Si se quieren seleccionar varios elementos del vector, existen diferentes formas:

 

v [-n] = elementos de todas las posiciones menos la n

                    - Obviamente, se pueden excluir varios elementos utilizando una expresión de la forma:  v [- c (n,m) ]

v [c (n,m,l)] = elementos de las posiciones n, m, l

v [n:m] = elementos desde la posición n hasta la m

 

También se puede modificar el valor de alguno de los elementos haciendo referencia a él e igualándolo al nuevo valor:

 

                v [n] = x                    asigna el valor x al elemento n del vector v


 

Aunque la explicada al principio de la página es la forma más común de generar vectores (y la forma en la que nuestros profesores lo hacen), existen algunas otras formas de hacerlo que pueden resultar útiles

  • n : m     -> genera un vector cuyos elementos son los contenidos en el intervalo desde n hasta m, ambos inclusive

  • seq (n, m)    -> genera un vector cuyos elementos son los contenidos en el intervalo desde n hasta m, ambos inclusive. Si no se indicara una n, se sobreentendería que es 1.

    • La instrucción “by = l” indica el intervalo con el que se deben incrementar los valores. Su sintaxis será

seq ( n, m, by=l )

  • rep (n:m, l)  -> genera un vector donde los elementos del intervalo [n,m] se repiten l veces. 



 

¡NO ES LA ÚNICA MANERA DE HACERLO!

¿Cómo opero con vectores?

 

Tanto sobre los vectores completos como sobre sus elementos, se pueden utilizar las operaciones aritmético-lógicas. La operación devolverá otro vector o modificará una componente determinada del original. 

 

SUMA/RESTA DE VECTORES: el resultado es un nuevo vector cuyos componentes son las suma/resta de los respectivos componentes de los vectores iniciales.

 

                                                                        v +/– u = (v1+/-u1 , v2+/-u2 , … , vn +/- un)

 

PRODUCTO DE VECTORES POR ESCALARES: el resultado es un nuevo vector cuyos componentes son el producto de los respectivos componentes del vector inicial por el escalar correspondiente.

 

                                                                               N * v = (N · v1 , N · v2 , … , N · vn)

 

PRODUCTO DE VECTORES: el resultado es un nuevo vector cuyas componentes son el producto de las correspondientes componentes de los vectores iniciales.

 

                                                                               v * u = (v1 · u1 , v2 · u2 , … , vn · un)


 

PRODUCTO ESCALAR DE VECTORES: el resultado es un escalar, suma de los productos de las componentes de los vectores iniciales. Es como si sumáramos todas las componentes del vector resultante del producto de vectores (operación anterior)

 

                                                                           v %*% u = (v1*u1 + v2*u2 + … + vn*un)

 

CONVIENE SABER...

Todas estas operaciones (excepto el producto escalar de vectores) se pueden realizar de forma análoga con las componentes de un vector:

 

                                                                                          v [n] +/- u [m]

                                                                                              N * v [n]

                                                                                            v [n] * u[m]

 

También se pueden realizar operaciones lógicas, que devolverán resultados del tipo TRUE / FALSE

ATENCIÓN

Todos los elementos almacenados en un vector deben ser del mismo tipo. Si introducimos tanto valores numéricos como caracteres, los primeros se convertirán en cadenas de caracteres. Esto implica que esos valores ya no serán leídos como números, y por lo tanto no podrán realizarse operaciones aritméticas con ellos.

También puede ser útil:

lenght (v) : devuelve el número de elementos de un vector. 

¡Cuidado con escribir bien la palabra! No serías el primero en escribir length (con la g y la h cambiadas de posición), y esto hace que el comando no funcione.

 

min (v) / max (v) : devuelven el elemento mínimo o máximo de un vector

Tienes disponible un ejemplo ilustrativo, donde se resuelve un ejercicio sencillo paso a paso y con todas las explicaciones, lo cual te puede ayudar a entender cómo utilizar este comando.

EJERCICIOS

Ejercicios

DIFICULTAD BAJA

1) Acceder a componentes de un vector

 

  Crear un vector aleatorio cuyas componentes se encuentren en el intervalo [1, 2000] de 100000 componentes.

  Escribir el componente número 8934 del vector

  Comparar si es mayor o menor que el elemento número 6599

Soluciones

solución

DIFICULTAD BAJA

bottom of page