栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > R语言

【R语言学习笔记】6、List列表详解

R语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【R语言学习笔记】6、List列表详解

创建一个list列表
> mylist <- list(stud.id = 1234,
+ stud.name = "Tom",
+ stud.marks = c(12, 3, 14, 25, 19))
> mylist
$stud.id
[1] 1234

$stud.name
[1] "Tom"

$stud.marks
[1] 12  3 14 25 19
取列表的值

注意双括号和单括号,及$符号的取值结果

> mylist[[1]]
[1] 1234

> mylist[1]
$stud.id
[1] 1234

> mylist$stud.id
[1] 1234

> mylist$stud
NULL
查看列表项的类型

注意双括号和单括号

> mode(mylist[[1]])
[1] "numeric"
> mode(mylist[1])
[1] "list"
查看及修改列表各成分的名称
> names(mylist)
[1] "stud.id"    "stud.name"  "stud.marks"

> names(mylist) <- c("id", "name", "marks")
> names(mylist)
[1] "id"    "name"  "marks"

> mylist
$id
[1] 1234

$name
[1] "Tom"

$marks
[1] 12  3 14 25 19
添加列表成分,增加新项

例如对mylist添加父母的名字这一新项:

> length(mylist)
[1] 3

> mylist$parents <- c("mna", "Jutice")
> mylist
$id
[1] 1234

$name
[1] "Tom"

$marks
[1] 12  3 14 25 19

$parents
[1] "mna"    "Jutice"

> length(mylist)
[1] 4
删除列表中的某一成分

如删除列表中的第3个成绩分数成分:(相当于先提取list的[-3]数据,即除了第3项的其他数据,再进行重新赋值)

> mylist <- mylist[-3]
> mylist
$id
[1] 1234

$name
[1] "Tom"

$parents
[1] "mna"    "Jutice"
列表的合并

如新建一个other列表,将其与前面的mylist列表合并:

> other <- list(age=19, sex="male")
> other
$age
[1] 19

$sex
[1] "male"

> newlist <- c(mylist, other)
> newlist
$id
[1] 1234

$name
[1] "Tom"

$parents
[1] "mna"    "Jutice"

$age
[1] 19

$sex
[1] "male"
unlist(list)将list列表转换成向量
> unlist(newlist)
      id     name parents1 parents2      age      sex 
  "1234"    "Tom"    "mna" "Jutice"     "19"   "male" 

注:转换后的向量与普通向量有所不同,不同之处在于该向量的每个元素都有一个名字和值,类似与python字典中的key和value。

> p <- unlist(newlist)
> p
      id     name parents1 parents2      age      sex 
  "1234"    "Tom"    "mna" "Jutice"     "19"   "male" 
  
> p[2]
 name 
"Tom" 

> p[[2]]
[1] "Tom"

> p$name
Error in p$name : $ operator is invalid for atomic vectors
转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/855877.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号