R语言学习笔记(六): 列表及数据框的访问
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语言学习笔记(六): 列表及数据框的访问的更多相关文章
- R语言学习 第三篇:数据框
数据框(data.frame)是最常用的数据结构,用于存储二维表(即关系表)的数据,每一列存储的数据类型必须相同,不同数据列的数据类型可以相同,也可以不同,但是每列的行数(长度)必须相同.数据框的每列 ...
- R语言学习笔记:列表
R列表时以其他对象为成分的有序集合,列表的成分和向量不同,它们不一定是同一种数据类型,模式或者长度.例: > my.list<-list(stud.id=34453, + stud.nam ...
- Go语言学习笔记六: 循环语句
Go语言学习笔记六: 循环语句 今天学了一个格式化代码的命令:gofmt -w chapter6.go for循环 for循环有3种形式: for init; condition; increment ...
- R语言数据分析利器data.table包—数据框结构处理精讲
R语言数据分析利器data.table包-数据框结构处理精讲 R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快.包括两个方面,一方面是写的快,代 ...
- R语言学习笔记之: 论如何正确把EXCEL文件喂给R处理
博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html ---- 前言: 应用背景兼吐槽 继续延续之前每个月至少一次更新博客,归纳总结学习心得好习惯. ...
- R语言学习笔记(一):mode, class, typeof的区别
要了解这三个函数的区别,先了解numeric, double与integer. 在r中浮点数有两个名字叫numeric与double. double是指它的类型(type)名字,numeric是指它的 ...
- R语言学习笔记(4)
第四章:基本数据管理 一 贯穿整章的示例 二 变量的创建.重编码和重命名 三 日期值与缺失值 四 数据类型和类型转换 五 数据集的排序.合并与取子集 一 贯穿整章的示例(leadership) ,, ...
- R语言学习笔记:读取前n行数据
常规读取 一般我们读取文件时都会读取全部的文件然后再进行操作,因为R是基于内存进行计算的. data <- read.table("C:\\Users\\Hider\\Desktop\ ...
- R语言学习笔记(数据预处理)
setwd("d:/r/r-data/")data=read.table("salary.txt",header=T)attach(data)mean(Sala ...
随机推荐
- Blob, Uint8Aray, atob/btoa in lt IE9 browser
Blob, Uint8Aray, atob/btoa in lt IE9 browser 标签(空格分隔): compatibility 之前写的代码全部在Chrome调试,用IE打开发现各种问题. ...
- python入门10 循环语句
两种循环: 1 for in 2 while #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 循环语句 ...
- 为什么A经理的团队总是会陷入加班与救火之中
最近在看一本名为<稀缺>的书,作者从行为经济学的角度解释了穷人为什么会更穷,忙碌的人越来越没有时间,节食的人总是失败.由于缺乏闲余导致的带宽负担会进一步导致稀缺,由于总是优先处理紧急的事情 ...
- hdu-2582 f(n)---找规律+素数筛法
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2582 题目大意: 给出公式Gcd(n)=gcd(C[n][1],C[n][2],……,C[n][n- ...
- HDU 2157 How many ways?? 【矩阵经典8】
任意门:http://acm.hdu.edu.cn/showproblem.php?pid=2157 How many ways?? Time Limit: 2000/1000 MS (Java/Ot ...
- C# .Net Framework4.5中配置和使用managedCUDA及常见问题解决办法
主要参考英文帖子.我就不翻译了哈.很容易懂的. 先说明我的运行平台: 1.IDE:Visual Studio 2012 C# .Net Framework4.5,使用默认安装路径: 2.显卡类型:NV ...
- intellig idea中jsp或html数据没有自动保存和更换字体
主题一:保存数据jsp intellig idea是自动保存数据的,看到没有保存 解决方案: 成功解决 主题二:更换字体: 或者快捷键Ctel+Alt+s 成功解决
- JS获取浏览器高度和宽度
IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.d ...
- Android学习笔记_38_图片的拖动、缩放功能和多点触摸
一.基础知识: 引用 理论上 Android可以处理 多达256 个手指的触摸,大概只有章鱼哥能享受这种技术带来的便利.就编程人员来说,编写多点触摸和单点触摸的方式几乎一模一样.其奥秘在于Motion ...
- Android学习笔记_36_ListView数据异步加载与AsyncTask
一.界面布局文件: 1.加入sdcard写入和网络权限: <!-- 访问internet权限 --> <uses-permission android:name="andr ...