如何在不使用 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]
}
}
我知道 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]
}
}