R – Elenchi

Un elenco dentro Programmazione R è un oggetto generico costituito da una raccolta ordinata di oggetti. Le liste sono unidimensionale , eterogeneo strutture dati.

L'elenco può essere un elenco di vettori , un elenco di matrici, un elenco di caratteri, un elenco di funzioni , e così via.

Una lista è un vettore ma con elementi di dati eterogenei. Un elenco in R viene creato con l'uso di funzione lista() .

R consente di accedere agli elementi di un elenco R con l'uso del valore dell'indice. In R, l'indicizzazione di una lista inizia con 1 anziché 0.

Creazione di un elenco

Per creare una lista in R è necessario utilizzare la funzione chiamata elenco() .

In altre parole, una lista è un vettore generico contenente altri oggetti. Per illustrare come appare un elenco, prendiamo un esempio qui. Vogliamo creare un elenco di dipendenti con i dettagli. Quindi, per questo, vogliamo attributi come ID, nome del dipendente e numero di dipendenti.

Esempio:

R




# R program to create a List> > # The first attributes is a numeric vector> # containing the employee IDs which is created> # using the command here> empId => c> (1, 2, 3, 4)> > # The second attribute is the employee name> # which is created using this line of code here> # which is the character vector> empName => c> (> 'Debi'> ,> 'Sandeep'> ,> 'Subham'> ,> 'Shiba'> )> > # The third attribute is the number of employees> # which is a single numeric variable.> numberOfEmp = 4> > # We can combine all these three different> # data types into a list> # containing the details of employees> # which can be done using a list command> empList => list> (empId, empName, numberOfEmp)> > print> (empList)>

Produzione

[[1]] [1] 1 2 3 4 [[2]] [1] 'Debi' 'Sandeep' 'Subham' 'Shiba' [[3]] [1] 4 

Componenti dell'elenco di denominazione

I componenti dell'elenco di nomi ne facilitano l'accesso.

Esempio:

R




# Creating a named list> my_named_list <-> list> (name => 'Sudheer'> , age = 25, city => 'Delhi'> )> # Printing the named list> print> (my_named_list)>

Produzione

$name [1] 'Sudheer' $age [1] 25 $city [1] 'Delhi' 

Accesso ai componenti dell'elenco R

Possiamo accedere ai componenti di una lista R in due modi.

1. Accedi ai componenti per nome:

Tutti i componenti di una lista possono essere nominati e possiamo usare questi nomi per accedere ai componenti della lista R usando il comando dollaro.

Esempio:

R




# R program to access> # components of a list> # Creating a list by naming all its components> empId => c> (1, 2, 3, 4)> empName => c> (> 'Debi'> ,> 'Sandeep'> ,> 'Subham'> ,> 'Shiba'> )> numberOfEmp = 4> empList => list> (> > 'ID'> = empId,> > 'Names'> = empName,> > 'Total Staff'> = numberOfEmp> > )> print> (empList)> # Accessing components by names> cat> (> 'Accessing name components using $ command '> )> print> (empList$Names)>

Produzione

$ID [1] 1 2 3 4 $Names [1] 'Debi' 'Sandeep' 'Subham' 'Shiba' $`Total Staff` [1] 4 Accessing name components using $ command [1] 'Debi' 'Sandeep' 'Subham' 'Shiba' 

2. Accedi ai componenti tramite indici:

Possiamo anche accedere ai componenti della lista R utilizzando gli indici.

Per accedere ai componenti di primo livello di un elenco R dobbiamo utilizzare un operatore di doppio affettamento [[ ]] che sono due parentesi quadre e se vogliamo accedere ai componenti di livello inferiore o interno di una lista R dobbiamo usare un'altra parentesi quadra [] insieme all'operatore del doppio affettamento [[ ]] .

Esempio:

R




# R program to access> # components of a list> # Creating a list by naming all its components> empId => c> (1, 2, 3, 4)> empName => c> (> 'Debi'> ,> 'Sandeep'> ,> 'Subham'> ,> 'Shiba'> )> numberOfEmp = 4> empList => list> (> > 'ID'> = empId,> > 'Names'> = empName,> > 'Total Staff'> = numberOfEmp> > )> print> (empList)> # Accessing a top level components by indices> cat> (> 'Accessing name components using indices '> )> print> (empList[[2]])> # Accessing a inner level components by indices> cat> (> 'Accessing Sandeep from name using indices '> )> print> (empList[[2]][2])> # Accessing another inner level components by indices> cat> (> 'Accessing 4 from ID using indices '> )> print> (empList[[1]][4])>

Produzione

$ID [1] 1 2 3 4 $Names [1] 'Debi' 'Sandeep' 'Subham' 'Shiba' $`Total Staff` [1] 4 Accessing name components using indices [1] 'Debi' 'Sandeep' 'Subham' 'Shiba' Accessing Sandeep from na... 

Modifica dei componenti di un elenco

Una lista R può anche essere modificata accedendo ai componenti e sostituendoli con quelli desiderati.

Esempio:

R




# R program to edit> # components of a list> # Creating a list by naming all its components> empId => c> (1, 2, 3, 4)> empName => c> (> 'Debi'> ,> 'Sandeep'> ,> 'Subham'> ,> 'Shiba'> )> numberOfEmp = 4> empList => list> (> > 'ID'> = empId,> > 'Names'> = empName,> > 'Total Staff'> = numberOfEmp> )> cat> (> 'Before modifying the list '> )> print> (empList)> # Modifying the top-level component> empList$`Total Staff` = 5> # Modifying inner level component> empList[[1]][5] = 5> empList[[2]][5] => 'Kamala'> cat> (> 'After modified the list '> )> print> (empList)>

Produzione

Before modifying the list $ID [1] 1 2 3 4 $Names [1] 'Debi' 'Sandeep' 'Subham' 'Shiba' $`Total Staff` [1] 4 After modified the list $ID [1] 1 2 3 4 5 $Names [1] 'Debi' 'Sandeep' 'Subham' ... 

Concatenazione di elenchi

Due elenchi R possono essere concatenati utilizzando la funzione di concatenazione. Quindi, quando vogliamo concatenare due liste dobbiamo usare l'operatore di concatenazione.

Sintassi:

lista = c(lista, lista1)
lista = la lista originale
lista1 = la nuova lista

Esempio:

R




# R program to edit> # components of a list> # Creating a list by naming all its components> empId => c> (1, 2, 3, 4)> empName => c> (> 'Debi'> ,> 'Sandeep'> ,> 'Subham'> ,> 'Shiba'> )> numberOfEmp = 4> empList => list> (> > 'ID'> = empId,> > 'Names'> = empName,> > 'Total Staff'> = numberOfEmp> )> cat> (> 'Before concatenation of the new list '> )> print> (empList)> # Creating another list> empAge => c> (34, 23, 18, 45)> # Concatenation of list using concatenation operator> empList => c> (empName, empAge)> cat> (> 'After concatenation of the new list '> )> print> (empList)>

Produzione

Before concatenation of the new list $ID [1] 1 2 3 4 $Names [1] 'Debi' 'Sandeep' 'Subham' 'Shiba' $`Total Staff` [1] 4 After concatenation of the new list [1] 'Debi' 'Sandeep' 'Subham' 'S... 

Aggiunta di un elemento all'elenco

Per aggiungere un elemento alla fine dell'elenco, possiamo utilizzare la funzione append().

R




# creating a list> my_numbers => c> (1,5,6,3)> #adding number at the end of list> append> (my_numbers, 45)> #printing list> my_numbers>

Produzione

[1] 1 5 6 3 45 [1] 1 5 6 3 

Eliminazione di componenti di un elenco

Per eliminare componenti di una lista R, prima di tutto dobbiamo accedere a tali componenti e quindi inserire un segno negativo prima di tali componenti. Indica che abbiamo dovuto eliminare quel componente.

Esempio:

R




# R program to access> # components of a list> # Creating a list by naming all its components> empId => c> (1, 2, 3, 4)> empName => c> (> 'Debi'> ,> 'Sandeep'> ,> 'Subham'> ,> 'Shiba'> )> numberOfEmp = 4> empList => list> (> > 'ID'> = empId,> > 'Names'> = empName,> > 'Total Staff'> = numberOfEmp> )> cat> (> 'Before deletion the list is '> )> print> (empList)> # Deleting a top level components> cat> (> 'After Deleting Total staff components '> )> print> (empList[-3])> # Deleting a inner level components> cat> (> 'After Deleting sandeep from name '> )> print> (empList[[2]][-2])>

Produzione

Before deletion the list is $ID [1] 1 2 3 4 $Names [1] 'Debi' 'Sandeep' 'Subham' 'Shiba' $`Total Staff` [1] 4 After Deleting Total staff components $ID [1] 1 2 3 4 $Names [1] 'Debi' 'Sand... 

Elenco di unione

Possiamo unire l'elenco R inserendo tutti gli elenchi in un unico elenco.

R




# Create two lists.> lst1 <-> list> (1,2,3)> lst2 <-> list> (> 'Sun'> ,> 'Mon'> ,> 'Tue'> )> # Merge the two lists.> new_list <-> c> (lst1,lst2)> # Print the merged list.> print> (new_list)>

Produzione:

[[1]] [1] 1 [[2]] [1] 2 [[3]] [1] 3 [[4]] [1] 'Sun' [[5]] [1] 'Mon' [[6]] [1] 'Tue' 

Conversione di elenco in vettore

Qui convertiremo l'elenco R in un vettore, per questo creeremo prima un elenco e poi rimuoveremo l'elenco dall'elenco nel vettore.

R




# Create lists.> lst <-> list> (1:5)> print> (lst)> # Convert the lists to vectors.> vec <-> unlist> (lst)> print> (vec)>

Produzione

[[1]] [1] 1 2 3 4 5 [1] 1 2 3 4 5 

R Lista a matrice

Creeremo matrici utilizzando la funzione matrice() nella programmazione R. Un'altra funzione che verrà utilizzata è la funzione unlist() per convertire le liste in un vettore.

R




# Defining list> lst1 <-> list> (> list> (1, 2, 3),> > list> (4, 5, 6))> # Print list> cat> (> 'The list is: '> )> print> (lst1)> cat> (> 'Class:'> ,> class> (lst1),> ' '> )> # Convert list to matrix> mat <-> matrix> (> unlist> (lst1), nrow = 2, byrow => TRUE> )> # Print matrix> cat> (> ' After conversion to matrix: '> )> print> (mat)> cat> (> 'Class:'> ,> class> (mat),> ' '> )>

Produzione

The list is: [[1]] [[1]][[1]] [1] 1 [[1]][[2]] [1] 2 [[1]][[3]] [1] 3 [[2]] [[2]][[1]] [1] 4 [[2]][[2]] [1] 5 [[2]][[3]] [1] 6 Class: list After conversion to matrix: [,1] [,2] [,3] [1,... 

In questo articolo abbiamo trattato Elenchi in R, abbiamo trattato le operazioni sugli elenchi come la creazione, la denominazione, l'unione e l'eliminazione di un elenco in linguaggio R. L'elenco R è un concetto importante e non deve essere ignorato.

Spero che tu abbia appreso degli elenchi R e delle relative operazioni in questo articolo.

Controlla anche: