Hay principalmente dos tipos de vectores en R. Los vectores de clasificación completos en R se dan a continuación.
- Vector atómico
- Entero
- Doble
- Lógico
- Personaje
- Complejo
- Crudo
- Vector recursivo
- Lista
La principal diferencia entre los vectores atómicos y el vector recursivo (lista) es que los vectores atómicos son homogéneos, mientras que el vector recursivo (lista) puede ser heterogéneo. Los vectores tienen tres propiedades comunes:
- Tipo, lo que es.
- Longitud, cuántos elementos contiene.
- Atributos, metadatos arbitrarios adicionales.
Vectores atómicos
Los vectores atómicos son probablemente la estructura de datos más fundamental en el lenguaje de programación R. Un vector atómico es diferente de una array unidimensional: una array tiene un atributo dim de longitud uno, mientras que un vector no tiene tal atributo. Un vector atómico también es diferente de una lista. Los elementos de un vector son todos del mismo tipo, mientras que una lista puede contener cualquier tipo arbitrario. Los vectores atómicos se construyen con la función o la función vectorial.
Vector entero
Los vectores enteros también se conocen como vectores numéricos en R. Esto incluye nEn R, los números se duplican de forma predeterminada, por lo que para hacer un número entero, coloque L después del número.
Ejemplo:
R
# R program to create integer Vectors # creation of integer vectors # using c() function. v1 <- c(1L, 4L, 2L, 5L) # print vector print(v1) # display type of vector print(typeof(v1))
Producción:
[1] 1 4 2 5 [1] "integer"
vector doble
Los vectores dobles también se conocen como vectores numéricos en R. Esto incluye dIn R, los números son dobles por defecto.
Ejemplo:
R
# R program to create double Vectors # creation of double vectors # using c() function. v1 <- c(4, 5, 6, 7) # print vector print(v1) # display type of vector print(typeof(v1))
Producción:
[1] 4 5 6 7 [1] "double"
Vector lógico
Los vectores lógicos son el tipo más simple de vector atómico, ya que solo toman tres valores posibles: FALSO, VERDADERO y NA. Los vectores lógicos se pueden construir con operadores de comparación. También podemos crearlos usando .
Ejemplo:
R
# R program to create Logical Vectors # Creating logical vector # using c() function v1 <- c(TRUE, FALSE, TRUE, NA) # print vector print(v1) # display type of vector print(typeof(v1))
Producción:
[1] TRUE FALSE TRUE NA [1] "logical"
Vector de caracteres
Los vectores de caracteres son el tipo más complejo de vector atómico porque cada elemento de un vector de caracteres es una string y una string puede contener una cantidad arbitraria de datos. Las strings en R pueden contener alfabetos, números y símbolos. La forma más sencilla de indicar que un valor es de tipo carácter en R es encerrar el valor entre comillas simples o dobles. Incluso podemos usar la función para almacenar un valor como un carácter o para convertir un valor al tipo de datos de caracteres.
Ejemplo:
R
# R program to create Character Vectors # by default numeric values # are converted into characters v1 <- c('geeks', '2', 'hello', 57) # print vector print(v1) # display type of vector print(typeof(v1))
Producción:
[1] "geeks" "2" "hello" "57" [1] "character"
Vector complejo
El tipo de datos complejo es para almacenar números con un componente imaginario. Ejemplos de valores complejos son 1+2i, 3i, 4-5i, -12+6i, etc.
Ejemplo:
R
# R program to create complex Vectors # create complex vector v1 <- c(1+2i, 3i, 4-5i, -12+6i) # print vector print(v1) # display type of vector print(typeof(v1))
Producción:
[1] 1+2i 0+3i 4-5i -12+6i [1] "complex"
Vector crudo
vectoresel
Ejemplo:
R
# R program to illustrate raw vector # Creating raw vector using raw() print(raw(3)) # Print the type of vector print(typeof(raw(3)))
Producción:
[1] 00 00 00 [1] "raw"
Vector recursivo
Las listas aumentan en complejidad a partir de vectores atómicos, porque la lista puede contener otras listas. Esto los hace adecuados para representar estructuras jerárquicas o en forma de árbol. Podemos crear una lista con .
Ejemplo:
R
# R program to create recursive Vectors # create recursive Vectors l1 <- list(1, 2, 3) # print vector print(l1) # display type of vector print(typeof(l1))
Producción:
[[1]] [1] 1 [[2]] [1] 2 [[3]] [1] 3 [1] "list"
Los elementos de la lista pueden recibir nombres y se puede acceder a ellos usando estos nombres. Las listas pueden ser extremadamente útiles dentro de las funciones. Debido a que las funciones en R solo pueden devolver un solo objeto, puede «grapar» muchos tipos diferentes de resultados en un solo objeto que una función puede devolver. Una lista no se imprime en la consola como un vector. En cambio, cada elemento de la lista comienza en una nueva línea. Los elementos están indexados por corchetes dobles. Si se nombran los elementos de una lista, pueden ser referenciados por la notación $.