数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量,对数据集的操作是数据分析的第一步

R语言的数据结构通常有以下几种:标量,向量,矩阵,数组,数据框和列表

向量

向量是用于存储数字型、字符型或逻辑型数据的一维数组。执行组合功能的函数c()可用来创建向量

> a

> b

> a

[1] 1 2 3 4 5 6

> b

[1] "one" "two" "three"

通常在方括号中给定元素所处位置的数值,对向量中的元素进行检索

> a

> a[5]

[1] "c"

> a[c(1,3,5)]

[1] "k" "h" "c"

> a[2:6]

[1] "j" "h" "a" "c" "m"

矩阵

矩阵是一个二维数组,每个元素的类型相同,通过函数matrix()创建矩阵

> y

> y

[,1] [,2] [,3] [,4]

[1,] 1 6 11 16

[2,] 2 7 12 17

[3,] 3 8 13 18

[4,] 4 9 14 19

[5,] 5 10 15 20

> cells

> rnames

> cnames

> mymatrix

> mymatrix

C1 C2

R1 1 26

R2 24 28

#这个矩阵中,byrow=TRUE是选择行填充,dimnames是指定行名和列名

同样矩阵元素的检索也是用到方括号

X[i,]是选择矩阵的第i行,X[,j]是选择矩阵的第j列,X[i,j]选择矩阵第i行第j列的元素

> x

> x

[,1] [,2] [,3] [,4] [,5]

[1,] 1 3 5 7 9

[2,] 2 4 6 8 10

> x[2,]

[1] 2 4 6 8 10

> x[,5]

[1] 9 10

> x[2,5]

[1] 10

数组

数组与矩阵类似,到那时数组的维度可以大于2,数组可以通过array创建,一般格式如下

myarray

vector包含了数组中的数据,dimensions是一个数值型向量,表示了维度的大小,dimnames则是指定维度的名称

> dim1

> dim2

> dim3

> z

> z

, , C1

B1 B2 B3

A1 1 3 5

A2 2 4 6

, , C2

B1 B2 B3

A1 7 9 11

A2 8 10 12

, , C3

B1 B2 B3

A1 13 15 17

A2 14 16 18

, , C4

B1 B2 B3

A1 19 21 23

A2 20 22 24

数组的检索与矩阵的检索相似,通过方括号检索

数据框

数据框是R语言中最常用的数据集,它不同的列可以包含不同的数据类型

数据框可以通过data.frame创建

mtdata

其中列向量col1,col2,col3可以为任何类型

> patienID

> age

> diabetes

> status

> patientData

> patientData

patienID age diabetes status

1 1 25 Type1 Poor

2 2 34 Type2 Improved

3 3 28 Type1 Excellent

4 4 52 Type1 Poor

数据框的检索方式如下

> patientData[1,2]

[1] 25

> patientData[1:2]

patienID age

1 1 25

2 2 34

3 3 28

4 4 52

> patientData[c("diabetes","status")]

diabetes status

1 Type1 Poor

2 Type2 Improved

3 Type1 Excellent

4 Type1 Poor

> patientData$age

[1] 25 34 28 52

# $用于选区给定数据框中某个特定的变量

因子

变量可分为名义型变量,有序型,连续型变量

名义型变量是没有顺序之分的类别型变量,如糖尿病的类型

有序型变量代表一种顺序关系,而非数量关系,比如病情的好坏,坏

连续型变量则同时表示了顺序和数量

名义型变量和有序型变量在R中称为因子

factor函数可以将变量转化为因子,如果要排序,则需要ordered=TRUE参数,levels可以指定排序顺序

> patientID

> age

> diabetes

> status

> diabetes

> status

> patientData

Error: object 'patientData' not found

> patientData

> str(patientData)#显示数据结构

'data.frame': 4 obs. of 4 variables:

$ patientID: num 1 2 3 4

$ age : num 25 34 28 52

$ diabetes : Factor w/ 2 levels "Type1","Type2": 1 2 1 1

$ status : Ord.factor w/ 3 levels "Excellent"

> summary(patientData)#统计数据框各变量

patientID age diabetes

Min. :1.00 Min. :25.00 Type1:3

1st Qu.:1.75 1st Qu.:27.25 Type2:1

Median :2.50 Median :31.00

Mean :2.50 Mean :34.75

3rd Qu.:3.25 3rd Qu.:38.50

Max. :4.00 Max. :52.00

status

Excellent:1

Improved :1

Poor :2

列表

列表是R中数据集最为复杂的一种,是一些对象的有序集合

可以使用list()函数创建列表

mylist

> g

> h

> j

> k

> mylist

> mylist

$title

[1] "My Frist List"

$ages

[1] 25 26 18 39

[[3]]

[,1] [,2]

[1,] 1 6

[2,] 2 7

[3,] 3 8

[4,] 4 9

[5,] 5 10

[[4]]

[1] "one" "two" "three"

r语言electricity数据集_R语言学习-数据集相关推荐

  1. r语言集合补集_R语言之数据处理(二)

    我们继续来总结一下R语言数据处理的第二部分--维度处理.在R语言中,常见的多维数据的存储形式有矩阵.数据框.列表和数组等,其中向量是特殊的矩阵,矩阵是特殊的数据框,数据框又是特殊的数组.对于不同的数据 ...

  2. r语言清除变量_R语言(1)初识与数据结构

    点击上方蓝字,记得关注我们! a picture is worth a thousand words! 一,R语言简介 1,R语言的发展 上世纪90年代初,新西兰奥克兰大学 Ross Ihaka 和 ...

  3. r - 求平均成绩_R语言 从零开始的笔记(一)

    R是用于统计分析.绘图的语言和操作环境.R是属于GNU系统的一个自由.免费.源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具. R语言于生物学分析中的应用越来越广泛,在其他领域的统计绘图应用 ...

  4. R语言JAVA对比_R语言统计分析应用与SAS、SPSS的比较

    能够用来做统计分析的软件和程序很多,目前应用比较广泛的包括:SPSS, SAS.R语言,Matlab,S-PLUS,S-Miner等.下面我们来看一下各应用的特点: SPSS: 最简单的,都是菜单操作 ...

  5. r语言electricity数据集_R语言学习10-查看数据

    当我们处理一个新的数据集的时候,第一件事就是要对数据做一个了解.数据的格式是什么?数据的维度是多少?变量名是什么? 变量如何存储? 是否缺少数据? 数据中是否有任何缺陷? 本次课将学习如何使用R的内置 ...

  6. r语言electricity数据集_R语言实战学习

    <R语言实战>中文电子版 提取码:lx35 已经学习打卡R语言22天了,可以说是初窥真容--基本了解R的数据和函数:作为程序语言,就是要多练习,多领悟,在实战中发现问题并解决问题. 所以, ...

  7. r语言electricity数据集_R语言多元逐步回归模型分析房价和葡萄酒价格:选择最合适的预测变量...

    包含更多的预测变量不是免费的:在系数估算的更多可变性,更难的解释以及可能包含高度依赖的预测变量方面要付出代价.确实,  对于样本大小 ,在线性模型中可以考虑 的预测变量最大数量为 p .或等效地,使用 ...

  8. r语言regexpr函数_R语言学习笔记-文本挖掘之字符处理(1)

    在挖掘分析的过程当中对字符串的处理是极为重要的,且出现也较为频繁,R语言作为当前最为流行的开源数据分析和可视化平台,虽然文本的处理并不是它的强项, 但是R语言还是包含大量的字符串操作工具,本章着重整理 ...

  9. r语言集合补集_R语言学习笔记(14)-常用包

    一.reshape2包对数据格式进行转换 > x + data = 1:5) > y + data = 1:5) > x k1 k2 data 1 NA 1 1 2 NA NA 2 ...

最新文章

  1. 技巧:结合Zabbix与SNMP监控嵌入式设备
  2. scala中的算术符重载代码详细解释
  3. 到底逾期几次才会影响贷款申请?
  4. 谷歌网络代理工具_谷歌更新了Dialogflow AI引擎,帮助客户创建更好的虚拟代理...
  5. Windows7下VS2008试用版到期的解决办法
  6. 查询笔记 分组与聚合 0314 1207
  7. React的Element的创建和render
  8. 打败 IE 的葵花宝典:CSS Bug Table
  9. JDK+MyEclipse+Tomcat的配置(修改Tomcat 6.x的端口)
  10. window下hive的安装
  11. 在Arcgis中利用Python编写脚本批量化处理数据实例
  12. diskgenius扩容c盘重启电脑卡住_无损扩容分区
  13. MATLAB上根号怎么输入,在matlab里面怎么输入开方号(根号)?9的开方怎么写?...
  14. Python绘制XRD图谱和对应pdf卡片堆叠图
  15. RocketMQ 监控平台搭建与项目引入
  16. 谁在维护linux内核,故意向Linux内核中提及漏洞? Linux 内核维护者封杀明尼苏达大学...
  17. win7 windows update 错误80072efe解决方法
  18. 微信.NET:开源的ASP.NET微信公众号应用平台 .
  19. mysql 分钟_MySQL如何获取一个指定时间中的分钟数(MINUTE函数)呢?
  20. csapi matlab,Matlab函数csapi与papi的区别是什么

热门文章

  1. CloudStack 的配置、部署与管理,以及 API 的使用
  2. 年底了,游戏大作连连
  3. IDEA 引入传统 j2ee spring mvc
  4. 150m虚拟主机容量不足
  5. 一晃居然已经停更半年了
  6. CentOS7.4安装PyQt5.6
  7. ListListObject list = new ArrayListListObject(); 求回答补充问题 list.get(position).add(Object);为什么会...
  8. HTML5 audio与video标签实现视频播放,音频播放
  9. 133.保护频带 134.流量控制在哪些层实现
  10. 计算机课真多,为什么有这么多的学习资源和在线课程,依然无法提升自己的能力...