小白教程
所有教程
关于
Search
172.70.131.28
172.70.131.28
参数设置
贡献
退出
操作
编辑
移动
保护
信息
历史
删除
查看“R 列表”的源代码
本页内容
上一节:
R_字符串
下一节:
R_矩阵
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:R 列表}}[[Category:R 教程|11]] = R 列表 = 列表是 R 语言的对象集合,可以用来保存不同类型的数据,可以是数字、字符串、向量、另一个列表等,当然还可以包含矩阵和函数。 R 语言创建列表使用 list() 函数。 如下实例,我们创建一个列表,包含了字符串、向量和数字: <sample title="" desc="" lang="r" hererun="1"> list_data <- list("xiaobai", "google", c(11,22,33), 123, 51.23, 119.1) print(list_data) </sample> 执行以上代码输出结果为: <sample title="" desc="" lang="r" hererun="1"> [[1]] [1] "xiaobai" [[2]] [1] "google" [[3]] [1] 11 22 33 [[4]] [1] 123 [[5]] [1] 51.23 [[6]] [1] 119.1 </sample> 我们可以使用 names() 函数给列表的元素命名: <sample title="" desc="" lang="r" hererun="1"> # 列表包含向量、矩阵、列表 list_data <- list(c("Google","xiaoBai","Taobao"), matrix(c(1,2,3,4,5,6), nrow = 2), list("xiaobai",12.3)) # 给列表元素设置名字 names(list_data) <- c("Sites", "Numbers", "Lists") # 显示列表 print(list_data) </sample> 执行以上代码输出结果为: <sample title="" desc="" lang="r" hererun="1"> $Sites [1] "Google" "xiaoBai" "Taobao" $Numbers [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 $Lists $Lists[[1]] [1] "xiaobai" $Lists[[2]] [1] 12.3 </sample> === 访问列表 === 列表中的元素可以使用索引来访问,如果使用来 '''names()''' 函数命名后,我们还可以使用对应名字来访问: <sample title="" desc="" lang="r" hererun="1"> # 列表包含向量、矩阵、列表 list_data <- list(c("Google","xiaoBai","Taobao"), matrix(c(1,2,3,4,5,6), nrow = 2), list("xiaobai",12.3)) # 给列表元素设置名字 names(list_data) <- c("Sites", "Numbers", "Lists") # 显示列表 print(list_data[1]) # 访问列表的第三个元素 print(list_data[3]) # 访问第一个向量元素 print(list_data$Numbers) </sample> 执行以上代码输出结果为: <sample title="" desc="" lang="r" hererun="1"> $Sites [1] "Google" "xiaoBai" "Taobao" $Lists $Lists[[1]] [1] "xiaobai" $Lists[[2]] [1] 12.3 [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 </sample> === 操作列表元素 === 我们可以对列表进行添加、删除、更新的操作,如下实例: <sample title="" desc="" lang="r" hererun="1"> # 列表包含向量、矩阵、列表 list_data <- list(c("Google","xiaoBai","Taobao"), matrix(c(1,2,3,4,5,6), nrow = 2), list("xiaobai",12.3)) # 给列表元素设置名字 names(list_data) <- c("Sites", "Numbers", "Lists") # 添加元素 list_data[4] <- "新元素" print(list_data[4]) # 删除元素 list_data[4] <- NULL # 删除后输出为 NULL print(list_data[4]) # 更新元素 list_data[3] <- "我替换来第三个元素" print(list_data[3]) </sample> 执行以上代码输出结果为: <sample title="" desc="" lang="r" hererun="1"> [[1]] [1] "新元素" $<NA> NULL $Lists [1] "我替换来第三个元素" </sample> === 合并列表 === 我们可以使用 c() 函数将多个列表合并为一个列表: <sample title="" desc="" lang="r" hererun="1"> # 创建两个列表 list1 <- list(1,2,3) list2 <- list("Google","xiaoBai","Taobao") # 合并列表 merged.list <- c(list1,list2) # 显示合并后的列表 print(merged.list) </sample> 执行以上代码输出结果为: <sample title="" desc="" lang="r" hererun="1"> [[1]] [1] 1 [[2]] [1] 2 [[3]] [1] 3 [[4]] [1] "Google" [[5]] [1] "xiaoBai" [[6]] [1] "Taobao" </sample> === 列表转换为向量 === 要将列表转换为向量可以使用 unlist() 函数,将列表转换为向量,可以方便我们进行算术运算: <sample title="" desc="" lang="r" hererun="1"> # 创建列表 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) </sample> 执行以上代码输出结果为: <sample title="" desc="" lang="r" hererun="1"> [[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 </sample>
返回至“
R 列表
”。
上一节:
R_字符串
下一节:
R_矩阵