虽然Trace Matrix使用了一个函数,如下所示:
sum(diag(matrix))
如果矩阵不是正方形(即" n x n"大小),这可能会错误地给出结果。是否还有其他内置功能可以运行" Trace"矩阵?
答案 0 :(得分:1)
下面是一个快速函数,用于测试对象是否为矩阵,然后测试它是否也是正方形。
tr <- function (m)
{
total_sum <- 0
if(is.matrix(m))
{
row_count <- nrow(m)
col_count <- ncol(m)
if(row_count == col_count)
{
total_sum <-sum(diag(m))
total_sum
}
else
{
message ('Matrix is not square')
}
}
else
{
message( 'Object is not a matrix')
}
}
我还为Matrix.Trace找到了以下包:
答案 1 :(得分:1)
您可以尝试使用特征值
# first find eigenvalues
e = eigen(matrix)
# Calculate the trace of the matrix, and compare with the sum of the eigenvalues.
# function to calculate the trace using sum of the diagonal
trace <- function(data)sum(diag(data))
trace(H)
# using sum of the eigenvalues
sum(e$values)
希望它有所帮助。
答案 2 :(得分:1)
包装:心理
功能:tr()
示例:
grid
(“ Fehler”表示错误)
而且
包装:matrixcalc
功能:matrix.trace