约翰霍普金斯大学数据科学系列课程——R语言:提取子集

在R语言中,有下面三种操作符可以提取对象的子集:

? “[”通常返回的对象与原对象的类型相同;它也可以返回一个对象中的多个元素

? “[[”用来从列表(list)或数据框(data.frame)中提取对象;也可从列表或数据框中提取单个元素,且返回对象的类型可以不为列表和数据框。

? “$”可以通过名称从列表和数据框中提取元素;如果仅从抽取元素的角度来看,和“[[”没有区别

(1) 向量

向量可以使用“[]”提取对应位置的单个元素,或多个元素,也可以在“[]”设置条件,提取对应元素。

> x <- c("a", "b", "c", "d", "e", "f")
> x[2]  ##单个提取
[1] "b"
> x[2:5]   ##批量提取
[1] "b" "c" "d" "e"
> x[x>"c"]    ##条件提取
[1] "d" "e" "f"
> u<-x>"b"    ##逻辑判断
> u
[1] FALSE FALSE  TRUE  TRUE  TRUE  TRUE
> x[u]    ##逻辑提取
[1] "c" "d" "e" "f"

(2)矩阵

也可以提取矩阵中的对应元素,默认情况下返回的是一个单元素向量,如果将属性drop=FALSE(drop默认值为TRUE),则返回一个1×1的矩阵,也可以通过缺失值来返回整行和整列元素:

> x <- matrix(1:6, 2, 3)
> x[2,3]
[1] 6
> x[1,2]
[1] 3       ##返回单个元素
> x[1,2,drop=FALSE]
     [,1]
[1,]    3   ##返回1×1的矩阵
> x[1,]
[1] 1 3 5    ##返回第一行,并将其向量化
> x[1,,drop=FALSE]
     [,1] [,2] [,3]   ##返回第一行的矩阵形式
[1,]    1    3    5

(3)列表

> x<-list(one=1:4,two=5)
> x
$one
[1] 1 2 3 4

$two
[1] 5

> x[1]   ##返回名称与值,类型为list
$one
[1] 1 2 3 4 

> x[[1]]  ##返回元素的值,类型为对应位置元素的类型,而不为list类型
[1] 1 2 3 4
> x[["one"]]   ##也可使用名称索引对应位置的元素
[1] 1 2 3 4
> x$one
[1] 1 2 3 4
> x[[2]][[1]]   ##可以返回特定位置的单个元素
[1] 5
> x[[c(2,1)]]
[1] 5
> x=list(data=1:5)
> x[["data"]]
[1] 1 2 3 4 5
> x[["d"]]
NULL
> x[["d",exact=FALSE]]  ##list默认元素名称全局匹配,但将属性exact设置为TRUE时可局部匹配元素名称
[1] 1 2 3 4 5

(4)缺失值移除

> x<-c(1,2,3,NA,5,NA)
> bad<-is.na(x)
> bad
[1] FALSE FALSE FALSE  TRUE FALSE  TRUE
> x[!bad]
[1] 1 2 3 5

也可以通过complete.cases()函数来判断缺失数值。

> x <- c(1, 2, NA, 4, NA, 5)
> good<-complete.cases(x)
> good
[1]  TRUE  TRUE FALSE  TRUE FALSE  TRUE
> x[good]
[1] 1 2 4 5

complete.cases()同样也可以处理矩阵数据

> airquality[1:6, ]
  Ozone Solar.R Wind Temp Month Day
1    41     190  7.4   67     5   1
2    36     118  8.0   72     5   2
3    12     149 12.6   74     5   3
4    18     313 11.5   62     5   4
5    NA      NA 14.3   56     5   5
6    28      NA 14.9   66     5   6
> airquality[good, ][1:6,]
  Ozone Solar.R Wind Temp Month Day
1    41     190  7.4   67     5   1
2    36     118  8.0   72     5   2
3    12     149 12.6   74     5   3
4    18     313 11.5   62     5   4
7    23     299  8.6   65     5   7
8    19      99 13.8   59     5   8
时间: 2024-10-03 21:41:35

约翰霍普金斯大学数据科学系列课程——R语言:提取子集的相关文章

约翰霍普金斯大学数据科学系列课程——R语言:数据类型

1.原子对象 R语言有5类最基本的原子对象: 1)  字符型character 字符型对象用" "包括. 2)  数值型numeric(real numbers) 数字对象在R中默认为数值型(numeric),如果你需要指定一个数据为整数型,需要在改数字后加上L.如:数字123默认为numeric型,如果需要其为integer型,可表示为123L. 3)  整数型integer 4)  复数型complex 复数的实部用实数表示,虚部用实数+i表示.如:3+2i,2+1i等. 5) 

约翰霍普金斯大学数据科学系列课程——导论

这几个月我以斯坦福大学Andrew Ng(中文译作吴恩达,他也是Coursera网站的创始人)的机器学习讲义为参考,在CSDN博客上写了一些机器学习和数据挖掘相关的总结笔记(还有独立成分分析和强化学习两章没有完成),通过学习和总结,对以前学过的统计学和数据挖掘等有了一些新的认识(很多公式最好自己去推导,这样能够真正的加深认识.记忆深刻).但在学习时,也感觉自己主要有两大不足:1.理论不够扎实.如在前几天总结贝叶斯机器学习的相关概念,才发现自己根本没吃透贝叶斯学派的本质思想,而仅仅是知道个贝叶斯公

约翰·霍普金斯大学

约翰·霍普金斯大学(The Johns Hopkins University),简称Hopkins或JHU,成立于1876年,是一所世界顶级的著名私立大学,美国第一所研究型大学,也是北美顶尖大学学术联盟美国大学协会(AAU)的14所创始校之一.美国国家科学基金会连续33年将该校列为全美科研经费开支最高的大学.截止目前,学校的教员与职工共有36人获得过诺贝尔奖(世界第17)[1].2015-16年<美国新闻与世界报道>世界大学排名将其列为世界第12,美国第10:2016年英国<泰晤士报&g

《数据科学中的R语言》中文PDF+源代码

下载:https://pan.baidu.com/s/1xk-b3Y5-EYRvoheah-6kyQ 书籍PDF共计417页,配套源代码.国人所写的经典书籍.本书一切从实际应用出发,以R语言为核心工具,介绍了各类分析方法的实现及其在各领域的应用情况. 原文地址:http://blog.51cto.com/3215120/2307083

数据科学实战手册(R+Python)书中引用资料网址

本文会持续将<数据科学实战手册(R+Python)>一书中的附带参考资料网址手打出来, 方便访问. 由于书中的参考资料网址太多, 这个文档将可能花费一段时间才能完成. 第一章 P7  Rstdio (http://www.rstdio.com/) 参考Gettinng Started with R文章: http://support.rstdio.com/hc/en-us/articles/201141096-Getting-Started-With-R 访问RStdio的主页: http:/

分享《数据科学实战手册(R+Python)》中文PDF+英文PDF+源代码

下载:https://pan.baidu.com/s/1Iw0pHxKqp2mKC9ksR5wfPQ 更多分享资料:https://www.cnblogs.com/javapythonstudy/ <数据科学实战手册(R+Python)>中文PDF+英文PDF+源代码中文PDF,带书签目录,354页:英文PDF,带书签目录,396页:两版对比学习.配套源代码. 中文版如图: 原文地址:https://www.cnblogs.com/javapythonstudy/p/9924670.html

大数据分析学习之使用R语言实战机器学习视频课程

大数据分析学习之使用R语言实战机器学习网盘地址:https://pan.baidu.com/s/1Yi9H6s8Eypg_jJJlQmdFSg 密码:0jz3备用地址(腾讯微云):https://share.weiyun.com/5tk6j1Z 密码:rdia9t 机器学习的核心主要侧重于找出复杂数据的意义.这是一个应用广泛的任务,机器学习的使用是非常广泛的. 本课程主要分为两个阶段,第一个部分:掌握R语言的处理数据的基本语法.第二部分:介绍机器学习原理,并通过大量的案例,为学员介绍R语言通过机

2015CDAS中国数据分析师行业峰会:R语言量化投资数据分析应用

前言 第一次在以数据分析为切入点的会议上做演讲,感觉还是挺不一样的.大会分为"金融数据洞察","医疗数据洞察","电商数据洞察","大小数据洞察"的4个部分,分别介绍了数据分析在不同行业的应用情况.当然,这次我是在"金融数据洞察"分论坛. 我非常有幸作为分享嘉宾参加2015年的中国数据分析师行业峰会,分享R语言在金融领域中的应用. 目录 我的演讲主题:R语言量化投资数据分析应用 会议体验和照片分享 整体文章

数据科学中的R和Python: 30个免费数据资源网站

1 政府数据 Data.gov:这是美国政府收集的数据资源.声称有多达40万个数据集,包括了原始数据和地理空间格式数据.使用这些数据集需要注意的是:你要进行必要的清理工作,因为许多数据是字符型的或是有缺失值. Socrata:它是探索政府相数据的另一个好地方.Socrata的一个了不起的地方是,他们有不错的可视化工具,使研究数据更为容易. 一些城市都有自己的数据门户网站设置,可供访问者浏览城市的相关数据.例如,在旧金山数据网站,你可以获得很多数据,从犯罪统计到城市的停车位. 联合国有关网站,例如