English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Una lista è una raccolta di oggetti in R, che può essere utilizzata per salvare dati di diversi tipi, come numeri, stringhe, vettori, un'altra lista, ecc., naturalmente può includere anche matrici e funzioni.
In R, viene utilizzata la funzione list() per creare una lista.
Esempio seguente, creiamo una lista che contiene stringhe, vettori e numeri:
list_data <- list("w3codebox", "google", c(11,22,33), 123, 51.23, 119.1) print(list_data)
执行以上代码输出结果为:
[[1]] [1] "w3codebox" [[2]] [1] "google" [[3]] [1] 11 22 33 [[4]] [1] 123 [[5]] [1] 51.23
Possiamo utilizzare la funzione names() per dare nome agli elementi della lista:
# La lista contiene vettori, matrici, liste list_data <- list(c("Google", "w3codebox", "Taobao"), matrix(c(1,2,3,4,5,6), nrow = 2), list("w3codebox", 12.3)) # Assegna nomi agli elementi della lista names(list_data) <- c("Siti", "Numeri", "Liste") # Visualizza la lista print(list_data)
执行以上代码输出结果为:
$Siti [1] "Google" "w3codebox" "Taobao" $Numeri [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 $Lists $Liste[[1]] [1] "w3codebox" $Liste[[2]] [1] 12.3
Gli elementi della lista possono essere acceduti tramite l'indice, se si utilizza names() Dopo aver chiamato il nome della funzione, possiamo accedere all'elemento corrispondente con il nome:
# La lista contiene vettori, matrici, liste list_data <- list(c("Google", "w3codebox", "Taobao"), matrix(c(1,2,3,4,5,6), nrow = 2), list("w3codebox", 12.3)) # Assegna nomi agli elementi della lista names(list_data) <- c("Siti", "Numeri", "Liste") # Visualizza la lista print(list_data[1]) # Accedi al terzo elemento della lista print(list_data[3]) # Accedi all'elemento primo della vettore print(list_data$Numeri)
执行以上代码输出结果为:
$Siti [1] "Google" "w3codebox" "Taobao" $Lists $Liste[[1]] [1] "w3codebox" $Liste[[2]] [1] 12.3 [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6
Possiamo eseguire operazioni di aggiunta, rimozione e aggiornamento delle liste, come nell'esempio seguente:
# La lista contiene vettori, matrici, liste list_data <- list(c("Google", "w3codebox", "Taobao"), matrix(c(1,2,3,4,5,6), nrow = 2), list("w3codebox", 12.3)) # Assegna nomi agli elementi della lista names(list_data) <- c("Siti", "Numeri", "Liste") # Aggiungi elemento list_data[4] <- "nuovo elemento" print(list_data[4]) # Elimina elemento list_data[4] <- NULL # Elimina e visualizza come NULL print(list_data[4]) # 更新元素 list_data[3] <- "我替换来第三个元素" print(list_data[3])
执行以上代码输出结果为:
[[1]] [1] "新元素" $<NA> NULL $Lists [1] "我替换来第三个元素"
我们可以使用c()函数将多个列表合并为一个列表:
# 创建两个列表 list1 <- list(1,2,3) list2 <- list("Google","w3codebox","Taobao") # 合并列表 merged.list <- c(list1,list2) # 显示合并后的列表 print(merged.list)
执行以上代码输出结果为:
[[1]] [1] 1 [[2]] [1] 2 [[3]] [1] 3 [[4]] [1] "Google" [[5]] [1] "w3codebox" [[6]] [1] "Taobao"
要将列表转换为向量可以使用unlist()函数,将列表转换为向量,可以方便我们进行算术运算:
# 创建列表 list1 <- list(1:5) print(list1) list2 <-list(10:14) print(list2) # 转换为向量 v1 <- unlist(list1) v2 <- unlist(list2) print(v1) print(v2) # 两个向量相加 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