如何在不使用 r 中的 t() 函数的情况下转置矩阵

How to transpose a matrix without using t() function in r

我知道 R 上有一个函数可以让你转置任何矩阵,但我想知道如何在不使用这个的情况下转置矩阵(即制作自己的函数)

我如何将其写成我自己的函数?

transpose <- function(M)

M <- matrix(data, nrow= (), ncol= (), byrow = TRUE) 
output <- matrix(data, nrow=ncol, ncol=nrow, brow = FALSE)

请注意,我才刚刚开始使用 r,所以请不要苛刻。

转置矩阵只是将其列交换为行。 这可以通过以下代码完成:

transpose <- function(M) sapply(1:nrow(M), function(i) M[i,])

可能是最糟糕的想法,但至少给出转置矩阵是:

  • 构建另一个矩阵M2
  • 赋给 M2[i,j] M[j,i]
  • 的值

代码:

    M2 <- M
    for (i in 1:nrow(M2)){
       for (j in 1:ncol(M2)){
             M2[i,j] <- M[j,i]
        }
    }