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. WAKE-LINUX-SOFT-linux安装,配置,基础

    1,ubuntu 1,1下载,安装 中文ubuntu站,http://cn.ubuntu.com/ 下载地址:https://www.ubuntu.com/download 安装手册:https:// ...

  2. 数据结构与算法分析java——树2(二叉树类型)

    1. 二叉查找树 二叉查找树(Binary Search Tree)/  有序二叉树(ordered binary tree)/ 排序二叉树(sorted binary tree) 1). 若任意节点 ...

  3. html css:背景图片链接css写法

    图片作为背景,并且是链接的写法.例如网站的logo图片.例如:土豆的logo图片 <a title="土豆网 tudou.com 每个人都是生活的导演" href=" ...

  4. css布局-响应式布局

    响应式设计 .在不同设备上正常使用 .一般主要处理屏幕大小问题 .主要方法: .隐藏 + 折行 + 自适应空间 .rem/viewport/media query 第一个案例 <!DOCTYPE ...

  5. Pod常使用命令

    pod 命令汇总 # 创建默认的 Podfile $ pod init # 第一次使用安装框架 $ pod install # 安装框架,不更新本地索引,速度快 $ pod install --no- ...

  6. 一篇博客:分类模型的 Loss 为什么使用 cross entropy 而不是 classification error 或 squared error

    https://zhuanlan.zhihu.com/p/26268559 分类问题的目标变量是离散的,而回归是连续的数值. 分类问题,都用 onehot + cross entropy traini ...

  7. 【luogu P1004 方格取数】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1004 标准的DP,不明白为什么有普及+提高的难度 四维DP[i][j][k][l] 表示第一遍走到i,j格子 ...

  8. 深度优先搜索(深搜)——Deep First Search【例题:迷宫】

           深度优先搜索 基本思想:先选择一种可能情况向前探索,在探索过程中,一点那发现原来的选择是错误的,就退回一步重新选择,继续向前探索,(回溯)反复进行. [例题]迷宫问题           ...

  9. js 3秒后跳转页面的实现代码

    隔多少秒后自动跳转到其它页(js脚本) 方法一: $(function(){ Load(URL); }) var secs = 3; //倒计时的秒数 var URL = "<?= u ...

  10. JavaScript js调用堆栈(三)

    本文主要深入介绍JavaScript内存机制 内存模型 JS内存空间分为栈(stack),堆(heap),池(一般也会归类为栈中),其中栈存放变量,堆存放复杂对象,池存放常量. 注:闭包中的变量并不保 ...