• 【转】R函数-diag()函数


    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/lili_wuwu/article/details/51909229


    diag()提取或替换一个矩阵的对角线,或构造一个对角矩阵。
    语法:
    diag(x = 1, nrow, ncol)
    diag(x) <- value
    解析:
    x:一个矩阵,向量或一维数组,或不填写。
    nrow, ncol:可选 行列。
    value :对角线的值,可以是一个值或一个向量。

    例子

    > x <- matrix(1:16,nrow=4,ncol=4)
    > x
         [,1] [,2] [,3] [,4]
    [1,]    1    5    9   13
    [2,]    2    6   10   14
    [3,]    3    7   11   15
    [4,]    4    8   12   16
    > diag(x)
    [1]  1  6 11 16

    #展示x的对角线数据

    > diag(diag(x))
         [,1] [,2] [,3] [,4]
    [1,]    1    0    0    0
    [2,]    0    6    0    0
    [3,]    0    0   11    0
    [4,]    0    0    0   16

    #由x的对角线数据生成对角矩阵

    > diag(4)
         [,1] [,2] [,3] [,4]
    [1,]    1    0    0    0
    [2,]    0    1    0    0
    [3,]    0    0    1    0
    [4,]    0    0    0    1

    #对角线为4个元素每个元素默认为1的对角矩阵

    > diag(10,3,4)
         [,1] [,2] [,3] [,4]
    [1,]   10    0    0    0
    [2,]    0   10    0    0
    [3,]    0    0   10    0

    #对角线数据位10,三行四列的矩阵

    > a<-diag(4)+1
    > a
         [,1] [,2] [,3] [,4]
    [1,]    2    1    1    1
    [2,]    1    2    1    1
    [3,]    1    1    2    1
    [4,]    1    1    1    2
    

      

    看几个较复杂的例子
    例1

    > all(diag(1:3) == {m <- matrix(0,3,3); diag(m) <- 1:3; m})
    [1] TRUE
    

     

    例2

    > diag(var(M <- cbind(X = 1:5, Y = stats::rnorm(5))))
           X        Y 
    2.500000 0.472455 
    

      

    例3

    > rownames(M) <- c(colnames(M),rep("",3))
    > M
      X         Y
    X 1  0.337440
    Y 2  0.129876
      3  1.251390
      4 -0.382447
      5 -0.451144
    

     

    版权声明:本文为CSDN博主「lili_wuwu」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/lili_wuwu/article/details/51909229

  • 相关阅读:
    KUDU 介绍
    Redis是什么?什么作用?优点和缺点
    数据库的种类有哪些?
    oracle 存储过程之游标(loop)使用
    JsHelper.cs
    MsSqlHelper.cs
    PLSQL操作Oracle创建用户和表(含创建用户名和密码)
    ASP.NET开发--三层架构
    oracle数据库之数据插入、修改和删除
    IDEA 搭建SSM框架详细教程以及token本地运行环境常遇到的问题
  • 原文地址:https://www.cnblogs.com/jiaxinwei/p/11503974.html
Copyright © 2020-2023  润新知