R 列表


R 列表list 保存不同类型的数据,可提供R分析结果的包装,如输出一个包含回归系数、预测值、残差、检测结果等不规则数据结构的变量。

相比数据框,列表不要求各列等长

相比向量,列表不要求所有元素类型相同

赋值 如rec<-list(name="liming",age=30,scores=c(85,76,90));rec

检查数据类型 typeof() 或is.list()

取列表元素可以按索引或变量名(建议变量名)[[]]或$  如 rec[[3]] 或 rec$age   注:单括号rec[3]取出来的是子列表格式,不只是值。

取列表元素内子元素则rec[[3]][2] 或 rec[["age"]][1]

列表内变量名称查看 names(rec)

重新赋值变量名称 names(rec)[names(rec)=="scores"] <-"三科分数"

修改列表内的值 ,对指定的列表元素赋值

rec[["三科分数"]][2]<-0

rec[["身高"]]<-178 

rec[["age"]]<-NULL  # 给列表元素赋值为NULL,会删掉这个元素(即子列表)

li<-list(a=120,b="F",c=NULL);li  #定义list时候是允许NULL作为值存在列表中

li["b"]<-list(NULL)   # 一定要给已存在的子列表赋值为NULL值,需要如此 list(NULL) 

列表类型转换

 as.list()把其他类型对象转换成列表

 unlist()把列表转换成基本向量

相关转换函数: 

  strsplit() 把字符型向量按分隔符切为列表。

接着 t(sapply(res, as.numeric)

as.numeric 字符串转为数值

 sapply() 对可迭代对象中的元素迭代地运行函数

 t()转置 列->行 或行->列