创建数据集之列表

在R语言中,向量、矩阵和数组的元素要求必须是同一类型的数据。在使用过程中,可能一个数据对象需要保存不同类型的数据,则可以使用列表来实现。

列表是对象的集合,可以包含向量、矩阵、数组,数据框,甚至是另外一个列表,且在列表中要求每一个成分都要有一个名称。

列表中的对象又称为它的分量。

  • 列表的建立

我们用list函数来创建列表,其函数原型为:

list(...)

例子:

a <- list(姓名 = "张三", 工资 = 1800, 性别 = "男")
a <- list(姓名 = c("张三","李四"), 工资 = c(1800,2800),c(性别 = "男", "女"))
a <- list(姓名 = c("张三","李四","王五"), 工资 =c(1800,2800),c(性别 = "男", "女"))
a <- list(c("张三","李四","王五"), c(1800,2800), c("男","女"))               #标签是可选的,没有指定标签的情况
a <- list(姓名 = c("张三","李四","王五"),科目 = c("语文","数学","英语","物理","计算机"),成绩 = matrix(sample(1:100,15),nrow = 3))         #包含矩阵的情况

在这里插入图片描述图一

在这里插入图片描述图二

  • 列表的索引

一、直接索引

myList <- list(姓名 = "张三", 工资 = 1800, 性别 = "男")
myList[1]                                   #访问列表中的第1个成分,使用这种方法,返回的结果仍为一个列表
myList[[1]]                                 #这次是元素值,是向量,不再是列表
myList[1:3]                                 #访问列表中的第一个到第三个成分
myList[c(1,3)]                              #访问列表中的第一个和第三个成分
myList[-1]                                  #排除第一个成分

二、使用名称索引

myList <- list(姓名 = "张三", 工资 = 1800, 性别 = "男")
myList$姓名                                      #访问成分名称为“姓名”的元素值,返回的是向量
myList["姓名"]                                   #访问成分名称为“姓名”的成分,返回的是一个列表
myList[["姓名"]]                                 #与第一个等价

三、二级索引

myList <- list(姓名 = "张三", 工资 = 1800, 性别 = "男")
myList[[1]][1]                                   #访问第一个成分中的第一个值
myList$姓名[1]
myList[["姓名"]][1]
  • 列表的编辑
myList <- list(姓名 = "张三", 工资 = "1000", 性别 = "男")
#修改某个成分的元素值
myList[[1]][1] <- "小明"
myList$姓名[1] <- "小明"
myList[["姓名"]][1] <- "小明"
#修改某一成分的所有值
myList$姓名 = c("翠花","小刚")
myList[[1]] = c("翠花","小刚")
mylist[c(1,2)] = c(list(c("赵六", "王五"),list(c("male","female")))
#添加一个成分
myList$地址 = "天津市"
myList <- c(myList, 地址 = list("天津市"))
#删除某一个成分
myList[1] <- NULL
myList[[1]] <- NULL
myList$姓名 <- NULL
myList["姓名"] <- NULL
myList[["姓名"]] <- NULL
myList <- myList[-1]
  • 参考资料

《R语言实战》第二版

R语言入门基础

list函数的使用帮助

上述的使用帮助都可以使用help函数进行查询。

猜你喜欢

转载自blog.csdn.net/weixin_46784010/article/details/107251370
今日推荐