数据科学中的 R 语言
创作时间:
作者:
@小白创作中心
数据科学中的 R 语言
引用
1
来源
1.
https://bookdown.org/wangminjie/R4DS/baseR-data-structure.html
第 5 章 数据结构
前面介绍了向量,它是R语言中最基础的数据结构
我们还会遇到其它数据结构
- 矩阵
- 列表
- 数据框
这些数据结构都可以看作由向量衍生出来的1。
5.1 矩阵
矩阵可以存储行(row)和列(column)二维的数据。
它实际上是向量的另一种表现形式,也就说它的本质还是向量,一维的向量用二维的方式呈现。
矩阵可以用
matrix()
函数创建,第一个位置的参数是用于创建矩阵的向量。比如下面把向量
c(2, 4, 3, 1, 5, 7)
转换成2行3列的矩阵
m <- matrix(
c(2, 4, 3, 1, 5, 7),
nrow = 2,
ncol = 3
)
m
## [,1] [,2] [,3]
## [1,] 2 3 5
## [2,] 4 1 7
大家还记得我们的向量是一个竖着的糖葫芦, 那么在转换成矩阵的时候,也是先竖着排,第一列竖着的方法排满后,就排第二列,这是默认的情形。如果想改变这一传统习惯,也可以增加一个语句
byrow = TRUE
,这条语句让向量先横着排,排完第一行,再排第二行。
matrix(
c(2, 4, 3, 1, 5, 7),
nrow = 2,
ncol = 3,
byrow = TRUE
)
## [,1] [,2] [,3]
## [1,] 2 4 3
## [2,] 1 5 7
5.1.1 矩阵的属性
- 类型
class(m)
## [1] "matrix" "array"
- 长度
length(m)
## [1] 6
- 维度
dim(m)
## [1] 2 3
5.2 列表
如果我们想要装更多的东西,可以想象有一个小火车2,小火车的每节车厢是独立的,因此每节车厢装的东西可以不一样。这种结构装载数据的能力很强大,称之为列表(list)。我们可以使用
list()
函数创建列表
list1 <- list(
a = c(5, 10),
b = c("I", "love", "R", "language", "!"),
c = c(TRUE, TRUE, FALSE, TRUE)
)
list1
## $a
## [1] 5 10
##
## $b
## [1] "I" "love" "R" "language" "!"
##
## $c
## [1] TRUE TRUE FALSE TRUE
c()
函数创建向量 对比
list()
函数创建列表
5.2.1 列表的属性
- 类型
class(list1)
## [1] "list"
- 长度
length(list1)
## [1] 3
5.3 数据框
前面说过,列表可以想象成一个小火车,如果每节车厢装的都是向量而且等长,那么这种特殊形式的列表就变成了数据框(data frame)
换句话说,数据框是一种特殊的列表,我们可以使用
data.frame()
函数构建数据框
df <- data.frame(
name = c("Alice", "Bob", "Carl", "Dave"),
age = c(23, 34, 23, 25),
marriage = c(TRUE, FALSE, TRUE, FALSE),
color = c("red", "blue", "orange", "purple")
)
df
## name age marriage color
## 1 Alice 23 TRUE red
## 2 Bob 34 FALSE blue
## 3 Carl 23 TRUE orange
## 4 Dave 25 FALSE purple
数据框类似于我们经常用的excel表格。由于数据框融合了向量、矩阵和列表的特性,所以在数据科学的统计建模和可视化中运用非常广泛。
5.3.1 数据框的属性
- 类型
class(df)
## [1] "data.frame"
- 维度
nrow(df)
## [1] 4
ncol(df)
## [1] 4
5.4 小结
R 对象的数据结构(向量、矩阵、列表和数据框),总结如下
- 向量: 糖葫芦
- 矩阵: 糖葫芦,有多行多列
- 列表: 小火车
- 数据框: excel表格
为了更好地理解相关概念,建议大家阅读Garrett Grolemund的hopr这本书(Grolemund 2014)。
5.5 习题
- 为什么说数据框融合了向量、矩阵和列表的特性?
- 创建一个学生信息的data.frame,包含姓名、性别、年龄,成绩等变量。
热门推荐
配偶的负债怎么查才合法
为了煮出世界上最完美的鸡蛋,他们“水”了一篇论文
打个哈切,下巴怎么就“掉了”?
只靠爽肤水,皮肤可以水润一整天?
脑肿瘤是什么概念
用空气炸锅烤羊排的制作方法
长江中下游平原:肥沃的土地,繁荣的文明
草鱼的食用禁忌与营养价值全解析
父母的协同和谐度过青少年期
健康加分的秘密武器:正确使用姜黄的方法
“抗炎明星”姜黄和姜有啥区别?吃它竟然有这些好处!(附食谱)
让居民开门见“景” 浦东花木街道以“绿”破题
电脑重装系统要多久?详解影响时间的关键因素
关闭 Android/iPhone 上的自动应用程序更新以限制移动数据使用
牟其中商业奇迹:罐头换飞机,错位人生铸就亿万财富!
适老化卫生间设计指南:让银发生活更安全舒适
适合新手养的六种蜥蜴品种,蜥蜴的喂养技巧有哪些?
双人游戏推荐:与好友一起畅玩乐趣无穷(精选合作游戏推荐)
晚清上海耶稣会长谷振声——《江南科学计划》和佘山朝圣地重要发起人之一
一碰就扎网根的下旋球,是怎么发出来的?这5个要点来帮你!
乙醇汽油时代来临,哪些车能适应?快测测你的座驾
乙醇燃料性能分析及整车性能匹配运用
如何选择性价比高的住宅区?这些小区有何共同特点?
【科普向】毫无争议的绝地大逆袭———塔萨法隆格海战
毛坯房装修全攻略:从拆改到软装收尾的流程与注意事项
毛主席纪念堂要预约吗 毛主席纪念堂开放时间+背包寄存
二手手机验机宝典:一步步教你选出完美手机!
肉桂可以降血糖吗?肉桂降血糖方法全解析
如何评估理财产品的质量与收益?这种评估方式如何帮助投资者做出决策?
胆结石手术后吃什么补品好