zoukankan      html  css  js  c++  java
  • R语言矩阵

    矩阵是元素布置成二维矩形布局的R对象。 它们包含相同原子类型的元素。

    R创建矩阵的语法:

    matrix(data, nrow, ncol, byrow, dimnames)

    参数说明:

    • data - 成为矩阵的数据元素输入向量。
    • nrow - 是要创建的行数。
    • ncol -  要被创建的列数。
    • byrow - 是一个合乎逻辑。若为True,则输入向量元素按行安排。
    • dimnames - 是分配给行和列名称。

    Example

    > # Elements are arranged sequentially by row.
    > M <- matrix(c(1:12), nrow=4, byrow=TRUE)
    > print(M)
         [,1] [,2] [,3]
    [1,]    1    2    3
    [2,]    4    5    6
    [3,]    7    8    9
    [4,]   10   11   12
    > # Elements are arranged sequentially by column.
    > N <- matrix(c(1:12), nrow=4, byrow=FALSE)
    > print(N)
         [,1] [,2] [,3]
    [1,]    1    5    9
    [2,]    2    6   10
    [3,]    3    7   11
    [4,]    4    8   12
    > # Define the column and row names.
    > rownames = c("row1", "row2", "row3", "row4")
    > colnames = c("col1", "col2", "col3")
    > P <- matrix(c(1:12), nrow=4, byrow=TRUE, dimnames=list(rownames, colnames))
    > print(P)
         col1 col2 col3
    row1    1    2    3
    row2    4    5    6
    row3    7    8    9
    row4   10   11   12

    访问矩阵:

    > # Access the element at 3rd column and 1st row.
    > print(P[1,3])
    [1] 3
    > # Access the element at 2nd column and 4th row.
    > print(P[4,2])
    [1] 11
    > # Access only the  2nd row.
    > print(P[2,])
    col1 col2 col3 
       4    5    6 
    > # Access only the 3rd column.
    > print(P[,3])
    row1 row2 row3 row4 
       3    6    9   12

    矩阵计算:

    > # Create two 2x3 matrices.
    > matrix1 <- matrix(c(3, 9, -1, 4, 2, 6), nrow=2)
    > print(matrix1)
         [,1] [,2] [,3]
    [1,]    3   -1    2
    [2,]    9    4    6
    > matrix2 <- matrix(c(5, 2, 0, 9, 3, 4), nrow=2)
    > print(matrix2)
         [,1] [,2] [,3]
    [1,]    5    0    3
    [2,]    2    9    4
    > # Add the matrices.
    > result <- matrix1 + matrix2
    > cat("Result of addition","n")
    Result of addition n
    > print(result)
         [,1] [,2] [,3]
    [1,]    8   -1    5
    [2,]   11   13   10
    > # Subtract the matrices
    > result <- matrix1 - matrix2
    > cat("Result of subtraction","n")
    Result of subtraction n
    > print(result)
         [,1] [,2] [,3]
    [1,]   -2   -1   -1
    [2,]    7   -5    2
    > # Multiply the matrices.
    > result <- matrix1 * matrix2
    > cat("Result of multiplication","n")
    Result of multiplication n
    > print(result)
         [,1] [,2] [,3]
    [1,]   15    0    6
    [2,]   18   36   24
    > # Divide the matrices
    > result <- matrix1 / matrix2
    > cat("Result of division","n")
    Result of division n
    > print(result)
         [,1]      [,2]      [,3]
    [1,]  0.6      -Inf 0.6666667
    [2,]  4.5 0.4444444 1.5000000

    参考网址:http://www.phperz.com/special/109.html

  • 相关阅读:
    ASP.NET Core基于SignalR实现消息推送实战演练
    corn常用表达式
    muzejs 基于webassembly 的高性能数据可视化库
    xk6 构建原理说明
    集群、分布式、负载均衡区别
    Docker深入浅出系列 | Swarm多节点实战
    You Can’t Sacrifice Partition Tolerance
    Cookies are deleted when I close the browser?
    Using more than one index per table is dangerous?
    Multiple Indexes vs Multi-Column Indexes
  • 原文地址:https://www.cnblogs.com/zeppelin/p/6382812.html
Copyright © 2011-2022 走看看