首页 > 编程语言 > 详细

R语言,python和Matlab数据类型和数据结构辨析(2)

时间:2021-03-28 11:13:43      阅读:25      评论:0      收藏:0      [点我收藏+]

接着上一章讲,大家好.

我们知道矩阵是有行和列组成的二维数组,其中每一个元素都具有相同的数据类型。

矩阵的创建:

一般我们使用向量进行创建,比如matrix()函数:matrix(A,nrow=n)

#设定行数n,将向量A的元素逐个、按列填进矩阵;如若设定列数,则声明ncol=m,注意列和行一般声明一个即可。

要将元素按行填入矩阵,则增加声明byrow=TURE(若不声明,该参数默认为FALSE)

下面给出基本的矩阵运

 函数                                  解释

+                               矩阵加

%*%                          矩阵乘

dim()                        以二维列向量形式,输出矩阵的行、列

t()                              矩阵转置

det()                        输出矩阵的行列式

solve()                    输出方阵的逆矩阵

rowSums()                矩阵按行求和,并输出为列向量

colSums()                矩阵按列求和,并输出为列向量

rowMeans()             矩阵按行求平均值,并输出为列向量

colMean()     矩阵按列求平均值,并输出为列向量

下面我们实战一下具体的矩阵常见问题

选取矩阵元素或子矩阵

矩阵中选取某些行、某些列拼合成新矩阵:

A[M,N]

M:代表选取A中行的向量的序号,N代表选取A中列的向量的序号;当选取所有行或所有列的元素时,对应的相应序号可以不写。

> A<-matrix(1:9,nrow=3)
> A
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
> A[2,2] # 选取A中第2行第2列的元素
[1] 5
> A[c(1,2),c(1,2)] # 选取A中第1、2行与第1、2列的元素
[,1] [,2]
[1,] 1 4
[2,] 2 5
> A[c(1,3),c(1,3)] # 选取A中第1、3行与第1、3列的元素
[,1] [,2]
[1,] 1 7
[2,] 3 9
> A[c(1,2),] # 选取A中第1、2行元素与所有列的元素
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
> A[,c(2,3)] # 选取A中所有行与第2、3列的元素
[,1] [,2]
[1,] 4 7
[2,] 5 8
[3,] 6 9

 数组:

具有至少3个维度的数据结构,各个维度下的维度值保存为一列向量,称为数组的维度(dim)

数组的创建:

从向量生成数组

array(A,dim=B)

A用于填充数组元素的向量,B声明数组的维度

> A=array(1:24,dim=c(3,4,2))
# c(3,4,2)表示这是一个3维数组,每1维的长度为3、4、2
> A
, , 1

[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12

, , 2

[,1] [,2] [,3] [,4]
[1,] 13 16 19 22
[2,] 14 17 20 23
[3,] 15 18 21 24

列表:R语言中的列表

首先,列表是最为灵活的数据结构,可以是任意形式的对象的混合组成;其次,可以通过list()函数来新建列表

;最后,很多函数的返回结果已列表形式存储。

那list()函数是怎么创建的呢

例如:A<-1;B<-"huawei";C<-matrix(1:9,nrow=3);

E=list(A,B,C,D)

然后通过[[1]] 来列举。

怎么引用列表中的对象呢

通过列表名$列表名对象的方法来引用

E$A

 

数据框:

数据框是一个特殊的列表,呈现出行和列的二维结构

其中,列代表指标或属性,行代表个案、记录或一个预测等

是结构化的数据的基本呈现形式。

使用的是data.frame()建立数据框

eg:

ID<-1:5

sex<-(1,2,1,1,1)

age<-(18,31,25,29,24)

sex.f<-factor(sex,level=c(1,2),labels=c("Male","Female"))

M<-data.frame(ID,sex.f,age)

调用数据框可以采用列表的形式。

 

R语言,python和Matlab数据类型和数据结构辨析(2)

原文:https://www.cnblogs.com/Chonggmll2025/p/14539487.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!