本篇文章由 VeriMake 旧版论坛中备份出的原帖的 Markdown 源码生成
原帖标题为:R 语言——向量、矩阵、数组、列表、数据框的区别
原帖网址为:https://verimake.com/topics/171 (旧版论坛网址,已失效)
原帖作者为:影子(旧版论坛 id = 31,注册于 2020-04-18 22:48:16)
原帖由作者初次发表于 2020-10-14 20:47:36,最后编辑于 2020-10-14 20:47:36(编辑时间可能不准确)
截至 2021-12-18 14:27:30 备份数据库时,原帖已获得 1867 次浏览、0 个点赞、0 条回复
1.向量
向量是包含一个或多个元素的数据。

2.矩阵
矩阵可以看成是多个向量组成的数据,需要指定行和列数,只有两维。

3.数组
数组可以看作是多维矩阵,和矩阵的区别是它可以是多维的,创建时需要传递维度dim。

4.列表
列表由 list 函数创建,可以像 c 函数那样指定内容,用逗号来分隔。列表中的元素变量的类型不限 , 可以是向量、矩阵,或者列表本身,在R中list包容性很强。

注意:
(1)可以看到列表属性也是向量,它们在模式上类似,都是向量,区别为向量只能存储一种类型,而列表可以是R的任何数据。
(2)当列表里输入的数据为元素时,会将数据转换为列表;

5.数据框
用 data.frame 函数创建数据框:

注意:
(1)数据框不同列数据类型可以不同,同一列数据类型必须相同;
(2)可以使用不同长度的向量来创建数据框,只要所有向量长度的最小公倍数等于最长的向量即可。

(3)数据框可以理解为类似EXCEL的结构体,与矩阵的不同是它可以用来存放不同类型的数据,矩阵只能存放相同类型的数据。
6.类型判断,索引,命名,以及查看类型
类别判断:可以使用is函数查看
索引:可以使用四种不同的索引方式正整数、负整数、逻辑值和名字的方式,用[ ]查看;
命名:使用names()函数进行命名;
查看维度:使用dim()函数;
查看长度:使用length()函数。