R語言
uniqTsparse
位於 Matrix
包(package)。 說明
檢測或“unify”(或“standardize”)非唯一的TsparseMatrix
矩陣,生成唯一的 三元組,這些三元組首先在 中,然後在 中(在order(j,i)
的意義上)。
請注意,"dgTMatrix"
(和其他"TsparseMatrix"
類)的new(.)
、spMatrix
或sparseMatrix
構造函數隱式添加屬於相同 對的 。
anyDuplicatedT()
報告第一個重複對的索引,如果沒有,則報告 0
。
uniqTsparse(x)
用三元組 替換重複的索引對 及其相應的 x
槽條目,其中 sx = sum(x [<all pairs matching (i,j)>])
,對於邏輯 x
,加法由邏輯 替換。
用法
uniqTsparse(x, class.x = c(class(x)))
anyDuplicatedT(x, di = dim(x))
參數
x |
以三元組形式存儲的稀疏矩陣,即繼承自類 |
class.x |
指定 |
di |
|
值
uniqTsparse(x)
返回 TsparseMatrix
“like x”,具有相同的類和相同的元素,隻是內部可能按排序順序更改為 “unique” 三元組。
anyDuplicatedT(x)
返回 integer
作為 anyDuplicated
,如果有的話,則返回第一個重複條目(來自 對)的索引,否則返回 0
。
例子
example("dgTMatrix-class", echo=FALSE)
## -> 'T2' with (i,j,x) slots of length 5 each
T2u <- uniqTsparse(T2)
stopifnot(## They "are" the same (and print the same):
all.equal(T2, T2u, tol=0),
## but not internally:
anyDuplicatedT(T2) == 2,
anyDuplicatedT(T2u) == 0,
length(T2 @x) == 5,
length(T2u@x) == 3)
## is 'x' a "uniq Tsparse" Matrix ? [requires x to be TsparseMatrix!]
non_uniqT <- function(x, di = dim(x))
is.unsorted(x@j) || anyDuplicatedT(x, di)
non_uniqT(T2 ) # TRUE
non_uniqT(T2u) # FALSE
T3 <- T2u
T3[1, c(1,3)] <- 10; T3[2, c(1,5)] <- 20
T3u <- uniqTsparse(T3)
str(T3u) # sorted in 'j', and within j, sorted in i
stopifnot(!non_uniqT(T3u))
## Logical l.TMatrix and n.TMatrix :
(L2 <- T2 > 0)
validObject(L2u <- uniqTsparse(L2))
(N2 <- as(L2, "nMatrix"))
validObject(N2u <- uniqTsparse(N2))
stopifnot(N2u@i == L2u@i, L2u@i == T2u@i, N2@i == L2@i, L2@i == T2@i,
N2u@j == L2u@j, L2u@j == T2u@j, N2@j == L2@j, L2@j == T2@j)
# now with a nasty NA [partly failed in Matrix 1.1-5]:
L.0N <- L.1N <- L2
L.0N@x[1:2] <- c(FALSE, NA)
L.1N@x[1:2] <- c(TRUE, NA)
validObject(L.0N)
validObject(L.1N)
(m.0N <- as.matrix(L.0N))
(m.1N <- as.matrix(L.1N))
stopifnot(identical(10L, which(is.na(m.0N))), !anyNA(m.1N))
symnum(m.0N)
symnum(m.1N)
也可以看看
TsparseMatrix
,為了唯一性,特別是 dgTMatrix
。
相關用法
- R unpackedMatrix-class 解壓縮密集矩陣的虛擬類“unpackedMatrix”
- R updown-methods 更新和降級稀疏 Cholesky 分解
- R dtrMatrix-class 三角形稠密數值矩陣
- R facmul-methods 乘以矩陣因式分解的因數
- R solve-methods 函數求解矩陣包中的方法
- R bdiag 構建分塊對角矩陣
- R printSpMatrix 靈活格式化和打印稀疏矩陣
- R symmetricMatrix-class 包矩陣中對稱矩陣的虛擬類
- R all.equal-methods 函數 all.equal() 的矩陣封裝方法
- R boolmatmult-methods 布爾算術矩陣乘積:%&% 和方法
- R ltrMatrix-class 三角密集邏輯矩陣
- R Hilbert 生成希爾伯特矩陣
- R nearPD 最近正定矩陣
- R lsyMatrix-class 對稱密集邏輯矩陣
- R CHMfactor-class 稀疏 Cholesky 分解
- R symmpart-methods 矩陣的對稱部分和偏斜(對稱)部分
- R sparseMatrix 從非零項構建一般稀疏矩陣
- R dgCMatrix-class 壓縮、稀疏、麵向列的數值矩陣
- R Cholesky-methods Cholesky 分解方法
- R Subassign-methods “[<-”的方法 - 分配給“矩陣”的子集
- R ldenseMatrix-class 密集邏輯矩陣的虛擬類“ldenseMatrix”
- R norm-methods 矩陣範數
- R ngeMatrix-class 一般密集非零模式矩陣的“ngeMatrix”類
- R CAex 阿爾伯斯的示例矩陣與“困難”特征分解
- R diagonalMatrix-class 對角矩陣的“diagonalMatrix”類
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Unique (Sorted) TsparseMatrix Representations。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。