R語言列表list函式

2022-09-15 13:03:15 字數 3991 閱讀 6161

列表是r語言中的物件,它包含不同型別的元素,比如 - 數字,字串,向量和另乙個列表等。乙個列表還可以包含乙個矩陣或乙個函式作為它的元素。使用list()函式建立列表。

下面是乙個例子來建立乙個包含字串,數字,向量和邏輯值的列表

# create a list containing strings, numbers, vectors and a logical values.

list_data <- list("red", "green", c(21,32,11), true, 51.23, 119.1)

print(list_data)

當我們上面的**執行時,它產生以下結果:

[[1]]

[1] "red"

[[2]]

[1] "green"

[[3]]

[1] 21 32 11

[[4]]

[1] true

[[5]]

[1] 51.23

[[6]]

[1] 119.1

列表元素可以給定它們的名字並且可以使用這些名稱來訪問。

# create a list containing a vector, a matrix and a list.

list_data <- list(c("jan","feb","mar"), matrix(c(3,9,5,1,-2,8), nrow=2), list("green",12.3))

# give names to the elements in the list.

names(list_data) <- c("1st quarter", "a_matrix", "a inner list")

# show the list.

print(list_data)

當我們上面的**執行時,它產生以下結果:

$`1st_quarter`

[1] "jan" "feb" "mar"

$a_matrix

[,1] [,2] [,3]

[1,] 3 5 -2

[2,] 9 1 8

$a_inner_list

$a_inner_list[[1]]

[1] "green"

$a_inner_list[[2]]

[1] 12.3

列表的元素可以通過在列表中的元素的索引來訪問。如遇命名列表也可以使用名稱來訪問。

我們繼續使用在上面例子的列表

# create a list containing a vector, a matrix and a list.

list_data <- list(c("jan","feb","mar"), matrix(c(3,9,5,1,-2,8), nrow=2), list("green",12.3))

# give names to the elements in the list.

names(list_data) <- c("1st quarter", "a_matrix", "a inner list")

# access the first element of the list.

print(list_data[1])

# access the thrid element. as it is also a list, all its elements will be printed.

print(list_data[3])

# access the list element using the name of the element.

print(list_data$a_matrix)

當我們上面的**執行時,它產生以下結果:

$`1st_quarter`

[1] "jan" "feb" "mar"

$a_inner_list

$a_inner_list[[1]]

[1] "green"

$a_inner_list[[2]]

[1] 12.3

[,1] [,2] [,3]

[1,] 3 5 -2

[2,] 9 1 8

我們可以新增,刪除和更新列表中的元素,如下圖所示。我們可以增加或刪除而且只能新增到列表的末尾的元素。但是可以更新任何元素。

# create a list containing a vector, a matrix and a list.

list_data <- list(c("jan","feb","mar"), matrix(c(3,9,5,1,-2,8), nrow=2), list("green",12.3))

# give names to the elements in the list.

names(list_data) <- c("1st quarter", "a_matrix", "a inner list")

# add element at the end of the list.

list_data[4] <- "new element"

print(list_data[4])

# remove the last element.

list_data[4] <- null

# print the 4th element.

print(list_data[4])

# update the 3rd element.

list_data[3] <- "updated element"

print(list_data[3])

當我們上面的**執行時,它產生以下結果:

[[1]]

[1] "new element"

$null

$`a inner list`

[1] "updated element"

可以把所有的列表傳到乙個 list()函式合併多個列表成乙個列表。

# create two lists.

list1 <- list(1,2,3)

list2 <- list("sun","mon","tue")

# merge the two lists.

merged.list <- c(list1,list2)

# print the merged list.

print(merged.list)

當我們上面的**執行時,它產生以下結果:

[[1]]

[1] 1

[[2]]

[1] 2

[[3]]

[1] 3

[[4]]

[1] "sun"

[[5]]

[1] "mon"

[[6]]

[1] "tue"

列表可以被轉換為乙個向量,以便能用於進一步操縱向量的元素。所有關於向量的算術運算可以在列表被轉換為向量之後被應用。要做到這一點轉換,使用unlist() 函式。它以列表作為輸入,並產生乙個向量。

# create lists.

list1 <- list(1:5)

print(list1)

list2 <-list(10:14)

print(list2)

# convert the lists to vectors.

v1 <- unlist(list1)

v2 <- unlist(list2)

print(v1)

print(v2)

# now add the vectors

result <- v1+v2

print(result)

當我們上面的**執行時,它產生以下結果:

[[1]]

[1] 1 2 3 4 5

[[1]]

[1] 10 11 12 13 14

[1] 1 2 3 4 5

[1] 10 11 12 13 14

[1] 11 13 15 17 19

R 建立列表 list

向量的元素要求都是同型別的,而列表 list 與向量不同,可以組合多個不同型別的物件。列表在r中扮演著乙個至關重要的角色,是資料框和物件導向程式設計的基礎。列表是r的資料型別中最為複雜的一種。一般來說,列表就是一些物件 或成分,component 的有序集合。列表能整合若干 可能無關的 物件到單個物...

rraylist引數 R語言列表list函式

列表是r語言中的物件,它包含不同型別的元素,比如 數字,字串,向量和另乙個列表等。乙個列表還可以包含乙個矩陣或乙個函式作為它的元素。使用list 函式建立列表。建立乙個列表 下面是乙個例子來建立乙個包含字串,數字,向量和邏輯值的列表 create a list containing strings,...

R語言列表

列表 建立列表 stu.lst list name c xiaoming xiahua id 1001,is.past.exam t stu.lst stu.lst2 list xiaoming 1001,t 可以不給列表加標籤 stu.lst2 new.l vector mode list new...