logo

R – Списки

Список в R програмування це загальний об'єкт, що складається з упорядкованої колекції об'єктів. Списки є одновимірний , неоднорідний структури даних.

Список може бути списком вектори , список матриць, список символів, список функції , і так далі.



Список — це вектор, але з різнорідними елементами даних. Список у R створюється за допомогою функція list(). .

R дозволяє отримати доступ до елементів списку R за допомогою значення індексу. У R індексація списку починається з 1 замість 0.

Створення списку

Щоб створити список у R, вам потрібно використати функцію, що називається список() .



Іншими словами, список - це загальний вектор, що містить інші об'єкти. Щоб проілюструвати, як виглядає список, ми наведемо приклад. Ми хочемо створити список співробітників з деталями. Тому для цього нам потрібні такі атрибути, як ID, ім’я співробітника та кількість співробітників.

приклад:

Р






# 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)>

>

>

Вихід

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

Компоненти списку імен

Іменування компонентів списку полегшує доступ до них.

зразок коду java

приклад:

Р




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

>

>

Вихід

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

Доступ до компонентів списку R

Ми можемо отримати доступ до компонентів списку R двома способами.

1. Доступ до компонентів за іменами:

Усі компоненти списку можна назвати, і ми можемо використовувати ці імена для доступу до компонентів списку R за допомогою команди dollar.

приклад:

Р




# 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)>

>

>

Вихід

$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. Доступ до компонентів за індексами:

Ми також можемо отримати доступ до компонентів списку R за допомогою індексів.

Щоб отримати доступ до компонентів верхнього рівня списку R, ми повинні використовувати оператор подвійного зрізу [[ ]] це дві квадратні дужки, і якщо ми хочемо отримати доступ до компонентів нижчого або внутрішнього рівня списку 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])>

>

>

Вихід

$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...>

Змінення компонентів списку

Список 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)>

>

>

шрифт gimp
Вихід

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' ...>

Конкатенація списків

Два списки R можна об’єднати за допомогою функції конкатенації. Отже, коли ми хочемо об’єднати два списки, ми повинні використовувати оператор об’єднання.

Синтаксис:

список = c(список, список1)
list = вихідний список
list1 = новий список

приклад:

Р




# 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)>

>

>

Вихід

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...>

Додавання елемента до списку

Щоб додати елемент у кінець списку, ми можемо використати функцію append().

Р




# 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>

>

>

Вихід

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

Видалення компонентів списку

Щоб видалити компоненти списку 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])>

>

>

Вихід

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...>

Список об'єднання

Ми можемо об’єднати список 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)>

зворотний рядок у java
>

>

Вихід:

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

Перетворення списку у вектор

Тут ми збираємося перетворити список R на вектор, для цього ми спочатку створимо список, а потім вилучимо список у вектор.

Р




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

>

>

Вихід

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

R Список до матриці

Ми будемо створювати матриці за допомогою функції matrix() у програмуванні R. Інша функція, яка буде використана, це функція unlist() для перетворення списків у вектор.

Р




# 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),>' '>)>

>

>

Вихід

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,...>

У цій статті ми розглянули Списки в R, ми розглянули такі операції зі списками, як створення, іменування, об’єднання та видалення списку мовою R. Список R є важливою концепцією, і її не слід пропускати.

Сподіваюся, ви дізналися про списки R і їх операції з цієї статті.

Також перевірте: