List

R语言中各组件的名称叫做标签(tags),访问列表有3种方法:

  • j$salary 通过标签名字访问,只要不引起歧义,可以只写出前几个字母。
  • j[['sal']] 夹在两个中括号时引号里的标签名字要写全。
  • j[[2]] 亦可以通过在列表中的位置访问。

这三种方法得到的都是对应组件内容的类型。

如果只加一个中括号,得到的是组件,类型为向量。

  • 需要注意的是 [ ] 可以提取多个组件,但 [[ ]] 一次只能提取列表的一个组件内容。
> j <- list(name = 'Joe', salary = 5500, union = T)
> j$salary
[1] 5500
> j$sal
[1] 5500
> j[['sal']]
NULL
> j[['salary']]
[1] 5500
> j[[2]]
[1] 5500
> j[2]
$salary
[1] 5500 > j[1:2]
$name
[1] "Joe" $salary
[1] 5500 > j[[1:2]]
Error in j[[1:2]] : subscript out of bounds

Dataframe

数据框的访问的用法与列表相似,可以把数据框看作由多个长度相同的列表组成的,所以访问方法同样适用。

> d
kids ages
1 Jack 12
2 Jill 10
> d$ki
[1] "Jack" "Jill"
> d$kids
[1] "Jack" "Jill"
> d[['kid']]
NULL
> d[['kids']]
[1] "Jack" "Jill"
> d[[1]]
[1] "Jack" "Jill"
> d[1]
kids
1 Jack
2 Jill
> d[,1]
[1] "Jack" "Jill"
  • 注意 [[ ]] 虽然只能提取一个列表的内容,但是 [[2: 3]] 表示取第二个列表中第三个元素。

    (可以把它看作先取第一层,再取第二层。)
> d[[1:2]]
[1] "Jill"
> d[[2:1]]
[1] 12

R语言学习笔记(六): 列表及数据框的访问的更多相关文章

  1. R语言学习 第三篇:数据框

    数据框(data.frame)是最常用的数据结构,用于存储二维表(即关系表)的数据,每一列存储的数据类型必须相同,不同数据列的数据类型可以相同,也可以不同,但是每列的行数(长度)必须相同.数据框的每列 ...

  2. R语言学习笔记:列表

    R列表时以其他对象为成分的有序集合,列表的成分和向量不同,它们不一定是同一种数据类型,模式或者长度.例: > my.list<-list(stud.id=34453, + stud.nam ...

  3. Go语言学习笔记六: 循环语句

    Go语言学习笔记六: 循环语句 今天学了一个格式化代码的命令:gofmt -w chapter6.go for循环 for循环有3种形式: for init; condition; increment ...

  4. R语言数据分析利器data.table包—数据框结构处理精讲

    R语言数据分析利器data.table包-数据框结构处理精讲 R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快.包括两个方面,一方面是写的快,代 ...

  5. R语言学习笔记之: 论如何正确把EXCEL文件喂给R处理

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html ---- 前言: 应用背景兼吐槽 继续延续之前每个月至少一次更新博客,归纳总结学习心得好习惯. ...

  6. R语言学习笔记(一):mode, class, typeof的区别

    要了解这三个函数的区别,先了解numeric, double与integer. 在r中浮点数有两个名字叫numeric与double. double是指它的类型(type)名字,numeric是指它的 ...

  7. R语言学习笔记(4)

    第四章:基本数据管理 一 贯穿整章的示例 二 变量的创建.重编码和重命名 三 日期值与缺失值 四 数据类型和类型转换 五 数据集的排序.合并与取子集 一 贯穿整章的示例(leadership)  ,, ...

  8. R语言学习笔记:读取前n行数据

    常规读取 一般我们读取文件时都会读取全部的文件然后再进行操作,因为R是基于内存进行计算的. data <- read.table("C:\\Users\\Hider\\Desktop\ ...

  9. R语言学习笔记(数据预处理)

    setwd("d:/r/r-data/")data=read.table("salary.txt",header=T)attach(data)mean(Sala ...

随机推荐

  1. 科技巨头之微软-Microsoft

    提起微软Microsoft,我想应该是无人不知无人不晓.Windows操作系统,Office办公软件,是我们日常经常用到的工具.而微软的创始人正是前世界首富比尔盖茨. 1997年,我刚上初中.当时学校 ...

  2. android中View点击和触摸事件的处理

    android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解. 一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN-& ...

  3. SQA计划和测试规程

    一.SQA计划 (一)目的 本计划的目的是定义我们该小组所做的“云医院”项目的SQA任务和职责,在项目过程中应遵循的流程.规范和约定等,以确保软件质量得到维持. (二)范围 本计划应用于“云医院”项目 ...

  4. 【[CTSC2000]冰原探险】

    noip前练一下码力还是非常有前途的 这道题本来就是想写个大暴力弃疗的,所以直接强上暴力浑身舒爽 结果发现要不是判重的时候脑残了,就能\(A\)了 没什么好说的呀,就是每一次都暴力\(O(n)\)往上 ...

  5. [18/11/28]Java中的包(package)

    一.为何引入包? 包机制是Java中管理类的重要手段. 开发中,我们会遇到大量同名的类,通过包我们很容易对解决类重名的问题,也可以实现对类的有效管理. 包对于类,相当于文件夹对于文件的作用.(同一文件 ...

  6. 编译安装PHP开发环境

    Linux 系统为 CentOS 7.2 1. 安装 Nginx 安装 Nginx 依赖包: # yum -y install zlib zlib-devel openssl openssl-deve ...

  7. Oracle连接问题

    ORA-01034: ORACLE not availableORA-27101: shared memory realm does not exist sqlplus /nolog conn /as ...

  8. WebNotes(PHP、css、JavaScript等)

    1. 数据库编码格式 gb-2312仅支持简体中文,GBK支持简体.繁体中文,utf-8通用程度最高. 2. HTTP请求方法 get方法请求时,会将传输的数据跟在链接后“显式地”发送,受限于链接长度 ...

  9. javascript对字符串的常见操作trim,ltrim,rtrim,isEmpty,isFloat等

    1.验证字符串是否为空格.是否包含非法字符. //验证是否字符串有非法字符 function v_invalide_char(value,msg){ var arr = ['#','@','!','$ ...

  10. 关于In-App Purchase(内购)的注意事项

    前言:关于In-App Purchase(内购)的注意事项 一点注意事项: 内购应该有游客身份的购买选项,不然可能被拒,前一段时间我这边一直是因为没有游客身份购买被拒. 在验证内购结果的时候要注意使用 ...