Cómo cambiar los componentes en las listas de r
Al igual que muchos otros objetos que encontrarás en I, las listas no son objetos estáticos. Puede cambiar componentes, agregar componentes, y quitar componentes de ellas de una manera bastante sencilla.
Conteúdo
Cambiar el valor de los componentes
Asignar un nuevo valor a un componente en una lista es bastante sencillo. Utiliza bien el $ o el [[]] para acceder a ese componente, y simplemente asignar un nuevo valor. Si desea reemplazar las puntuaciones en la lista baskets.nlist con la trama de datos baskets.df, por ejemplo, puede utilizar cualquiera de las siguientes opciones:
> Baskets.nlist [[1]] lt; - baskets.df> baskets.nlist [[" puntajes "]] lt; - baskets.df> baskets.nlist $ puntajes lt; - baskets.df
Si utiliza [], la historia es un poco diferente. Usted puede cambiar el uso de componentes [] también, pero usted tiene que asignar una lista de componentes. Así que, para hacer lo mismo que las opciones anteriores utilizando [], es necesario utilizar el siguiente código:
> Baskets.nlist [1] lt; - lista (baskets.df)
Todas estas opciones tienen exactamente el mismo resultado, por lo que pueden preguntarse por qué usted nunca utilizar la última opción. Sencillo: Uso [] le permite cambiar más de un componente a la vez. Puede cambiar tanto la temporada y las puntuaciones en baskets.list con la siguiente línea de código:
> Baskets.list [1: 2] lt; - lista (baskets.df, " 2009 hasta 2010 ")
Esta línea sustituye a la primera componente baskets.list con el valor de baskets.df, y el segundo componente de baskets.list con el valor de carácter "2009-2010".
Extracción de componentes
Extracción de componentes es aún más simple: sólo asignar la NULO valor al componente. En la mayoría de casos, el componente es simplemente eliminado. Para extraer la primera componente a partir de baskets.nlist, puede utilizar cualquiera de estos (y más) opciones:
> Baskets.nlist [[1]] lt; - NULL> baskets.nlist $ puntajes lt; - NULL> baskets.nlist [" puntajes "] lt; - NULL
El uso de soportes individuales, que de nuevo tiene la posibilidad de suprimir más de un componente a la vez. Tenga en cuenta que, en este caso, usted no tiene que crear una lista con el valor NULO primero. Por el contrario, si tuviera que hacerlo, a usted le da el componente del valor NULO en vez de eliminarla, como se muestra en el siguiente ejemplo:
> Baskets.nlist lt; - lista (puntuaciones = baskets.df, temporada = " 2010-2011 ")> baskets.nlist [" puntajes "] lt; - lista (NULL)> baskets.nlist $ scoresNULL $ temporada [1] " 2010-2011 "
Adición de componentes adicionales utilizando índices
Usted puede utilizar el $ o índices para agregar variables extra. Listas de trabajo de la misma manera- añadir un componente llamado jugadores a la lista baskets.nlist, puede utilizar cualquiera de las siguientes opciones:
> Baskets.nlist $ jugadores lt; - c (" # 148 ;, Granny " Geraldine ")> baskets.nlist [[" # 148 jugadores;]] lt; - c (" # 148 ;, Granny " Geraldine ")> baskets.nlist [" # 148 jugadores;] lt; - lista (c (" # 148 ;, Granny " Geraldine "))
Del mismo modo, para añadir la misma información que un tercer componente a la lista baskets.list, puede utilizar cualquiera de las siguientes opciones:
> Baskets.list [[3]] lt; - c (" # 148 ;, Granny " Geraldine ")> baskets.list [3] lt; - lista (c (" # 148 ;, Granny " Geraldine "))
Estas últimas opciones requieren que saber exactamente cuántos componentes tiene una lista antes de agregar un componente adicional. Si baskets.list contenía tres componentes ya, usted sobrescribir que un lugar de agregar una nueva.
Combinando las listas
Si quisieras agregar componentes a una lista, sería bueno si pudiera hacerlo sin tener que preocuparse por los índices en absoluto. Para ello, lo único que necesita es una función se utiliza ampliamente, la c () función.
Así es, la c () función - que es la abreviatura de concatenar - hace mucho más que la creación de vectores de un conjunto de valores. los c () función puede combinar diferentes tipos de objetos y, por lo tanto, se puede utilizar para combinar listas en una nueva lista también.
Con el fin de ser capaz de añadir la información sobre los jugadores, tienes que crear una lista primero. Para asegurarse de que tiene la misma salida, usted tiene que reconstruir el original baskets.list así como. Puede hacer ambas cosas usando el siguiente código:
> Baskets.list lt; - lista (baskets.team, " 2010-2011 ")> Jugadores lt; - lista (rownames (baskets.team))
A continuación, puede combinar este jugadores lista con la lista goal.list Me gusta esto:
> C (baskets.list, reproductores) [[1]] primera segunda tercera cuarta quinta 6thGranny 12 4 5 6 9 3Geraldine 5 4 2 4 12 9 [[2]] [1] " 2010-2011 " [[3]] [1] " Granny " " Geraldine "
Si ninguna de las listas contiene nombres, estos nombres se conservan en el nuevo objeto también.