你好,欢迎访问远方教程PC版!
广告位招租

一篇关于R矩阵操作总结的神文(终结篇) (第6页)

[日期:2015-07-19]   来源:远方教程  作者:远方教程   阅读:19461次[字体: ] 访问[旧版]
 捐赠远方教程 

5 其它

5.1矩阵的向量化

将矩阵向量化有时候是必要的。矩阵的向量化可以通过as.vector()来实现:

> A

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

[1,]    1    4    7   10

[2,]    2    5    8   11

[3,]    3    6    9   12

将矩阵元素向量化:

> as.vector(A)

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

将矩阵的方阵部分元素向量化:

> as.vector(A[1:min(dim(A)),1:min(dim(A))])

[1] 1 2 3 4 5 6 7 8 9

5.2矩阵的合并

5.2.1矩阵的列合并

矩阵的列合并可以通过cbind()来实现。

> A

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

[1,]    1    4    7

[2,]    2    5    8

[3,]    3    6    9

> B=1:3

> cbind(A,B)

           B

[1,] 1 4 7 1

[2,] 2 5 8 2

[3,] 3 6 9 3

5.2.2矩阵的行合并

矩阵的行合并可以通过rbind()来实现。

> A

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

[1,]    1    4    7

[2,]    2    5    8

[3,]    3    6    9

> B=1:3

> rbind(A,B)

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

     1    4    7

     2    5    8

     3    6    9

B    1    2    3

5.3 时序矩阵的滞后

在时间序列中经常会用到一个序列的滞后序列,R中的包fMultivar中的函数tslag()提供了这个功能。

> library(fMultivar)

Loading required package: sn

Loading required package: mnormt

Package 'sn', 0.4-16 (2010-08-30). Type 'help(SN)' for summary information

Loading required package: timeDate

Loading required package: timeSeries

Loading required package: fBasics

Loading required package: MASS

Attaching package: 'fBasics'

The following object(s) are masked from 'package:base':

    norm

> args(tslag)

function (x, k = 1, trim = FALSE)

NULL

其中:x为一个向量,k指定滞后阶数,可以是一个自然数列,若trim为假,则返回序列与原序列长度相同,但含有NA值;若trim项为真,则返回序列中不含有NA值,例如:

> x=1:9

> x

[1] 1 2 3 4 5 6 7 8 9

> tslag(x,1:4,trim=F)

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

 [1,]   NA   NA   NA   NA

 [2,]    1   NA   NA   NA

 [3,]    2    1   NA   NA

 [4,]    3    2    1   NA

 [5,]    4    3    2    1

 [6,]    5    4    3    2

 [7,]    6    5    4    3

 [8,]    7    6    5    4

 [9,]    8    7    6    5

> tslag(x,1:4,trim=T)

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

[1,]    4    3    2    1

[2,]    5    4    3    2

[3,]    6    5    4    3

[4,]    7    6    5    4

[5,]    8    7    6    5

图片展示
 
相关评论
站长推荐