Técnicamente, las listas son vectores, aunque muy pocos usarían ese término. "lista" es uno de varios modos, y otros son "lógico", "carácter", "numérico", "entero". Lo que llama vectores son "vectores atómicos" en estricto lenguaje R:
aaa <- vector("list", 3)
is.list(aaa) #TRUE
is.vector(aaa) #TRUE
Las listas son del tipo "recursivo" (de vector) mientras que los vectores atómicos no son:
is.recursive(aaa) # TRUE
is.atomic(aaa) # FALSE
Usted procesa objetos de datos con diferentes funciones dependiendo de si son recursivos, atómicos o tienen atributos dimensionales (matrices y matrices). Sin embargo, no estoy seguro de que una discusión sobre las "ventajas y desventajas" de las diferentes estructuras de datos sea una pregunta suficientemente enfocada para SO. Para agregar a lo que dijo Tommy, además de que las listas pueden contener un número arbitrario de otros vectores, existe la disponibilidad de marcos de datos que son un tipo particular de lista que tiene un atributo dimensional que define su estructura. A diferencia de las matrices y las matrices que en realidad son objetos atómicos plegados, los marcos de datos pueden contener diferentes tipos, incluidos los tipos de factores.
También existe la advertencia de que la is.vector
función volverá FALSE
cuando haya atributos distintos de los nombres. Ver: ¿qué es el vector?
key
s en vectores usando elnames
métodoEsta y otras preguntas introductorias similares se responden en http://www.burns-stat.com/pages/Tutor/hints_R_begin.html
Está destinado a ser una introducción suave que lo pone en funcionamiento con R lo más rápido posible. Hasta cierto punto tiene éxito.
--- Editar: -
Un intento de explicar más; citado de la referencia anterior.
Consulte también este enlace.
fuente
La lista incluye múltiples tipos de datos como caracteres, numéricos, lógicos, etc. pero el vector solo contiene un tipo similar de datos. por ejemplo:
para la lista:
lo que significa una lista que contiene múltiples tipos de datos como numérico, de caracteres y lógico en mylist. Pero en el vector habrá un solo tipo de datos de todos los elementos en ese vector
por ejemplo:
para el vector:
fuente