sparse.model.matrix
位於 Matrix
包(package)。 說明
根據公式和數據幀 (sparse.model.matrix
) 或單個因子 (fac2sparse
) 構建稀疏模型或 “design” 矩陣。
fac2[Ss]parse()
函數是實用程序,也在主要用戶級函數 sparse.model.matrix()
內部使用。
用法
sparse.model.matrix(object, data = environment(object),
contrasts.arg = NULL, xlev = NULL, transpose = FALSE,
drop.unused.levels = FALSE, row.names = TRUE,
sep = "", verbose = FALSE, ...)
fac2sparse(from, to = c("d", "l", "n"),
drop.unused.levels = TRUE, repr = c("C", "R", "T"), giveCsparse)
fac2Sparse(from, to = c("d", "l", "n"),
drop.unused.levels = TRUE, repr = c("C", "R", "T"), giveCsparse,
factorPatt12, contrasts.arg = NULL)
參數
object |
適當類的對象。對於默認方法,模型公式或術語對象。 |
data |
使用 |
contrasts.arg |
|
xlev |
如果 |
transpose |
邏輯指示是否應返回轉置;如果無論如何使用轉置,設置 |
drop.unused.levels |
未使用的因子是否應該下降?默認為 |
row.names |
邏輯指示是否應使用行名稱。 |
sep |
|
verbose |
邏輯或整數指示是否應打印(以及多少)進度輸出。 |
... |
傳入或傳出其他方法的進一步參數。 |
from |
(對於 |
to |
指示要返回的稀疏矩陣的“kind”的字符。默認值 |
giveCsparse |
已棄用,替換為 |
repr |
|
factorPatt12 |
邏輯向量,例如 |
值
稀疏矩陣,擴展 CsparseMatrix
(對於 fac2sparse()
如果默認為 repr = "C"
;否則為 TsparseMatrix
或 RsparseMatrix
)。
對於 fac2Sparse()
,長度為 2 的 list
,兩個分量都具有相應的轉置模型矩陣,其中相應的 factorPatt12
為 true。
fac2sparse()
是 sparse.model.matrix()
的基本主力,返回模型矩陣的轉置 (t
)。
注意
MatrixModels
包中的 model.Matrix(sparse = TRUE)
如今可能比 sparse.model.matrix
更好,因為 model.Matrix
返回類 modelMatrix
的對象,並帶有與模型變量相關的附加槽 assign
和 contrasts
。
例子
dd <- data.frame(a = gl(3,4), b = gl(4,1,12))# balanced 2-way
options("contrasts") # the default: "contr.treatment"
sparse.model.matrix(~ a + b, dd)
sparse.model.matrix(~ -1+ a + b, dd)# no intercept --> even sparser
sparse.model.matrix(~ a + b, dd, contrasts = list(a="contr.sum"))
sparse.model.matrix(~ a + b, dd, contrasts = list(b="contr.SAS"))
## Sparse method is equivalent to the traditional one :
stopifnot(all(sparse.model.matrix(~ a + b, dd) ==
Matrix(model.matrix(~ a + b, dd), sparse=TRUE)),
all(sparse.model.matrix(~0 + a + b, dd) ==
Matrix(model.matrix(~0 + a + b, dd), sparse=TRUE)))
(ff <- gl(3,4,, c("X","Y", "Z")))
fac2sparse(ff) # 3 x 12 sparse Matrix of class "dgCMatrix"
##
## X 1 1 1 1 . . . . . . . .
## Y . . . . 1 1 1 1 . . . .
## Z . . . . . . . . 1 1 1 1
## can also be computed via sparse.model.matrix():
f30 <- gl(3,0 )
f12 <- gl(3,0, 12)
stopifnot(
all.equal(t( fac2sparse(ff) ),
sparse.model.matrix(~ 0+ff),
tolerance = 0, check.attributes=FALSE),
is(M <- fac2sparse(f30, drop= TRUE),"CsparseMatrix"), dim(M) == c(0, 0),
is(M <- fac2sparse(f30, drop=FALSE),"CsparseMatrix"), dim(M) == c(3, 0),
is(M <- fac2sparse(f12, drop= TRUE),"CsparseMatrix"), dim(M) == c(0,12),
is(M <- fac2sparse(f12, drop=FALSE),"CsparseMatrix"), dim(M) == c(3,12)
)
作者
Doug Bates and Martin Maechler, with initial suggestions from Tim Hesterberg.
也可以看看
model.matrix
包裝內stats
, 底座的一部分R.
包 MatrixModels
中的model.Matrix
;看注釋'。
as(f, "sparseMatrix")
(請參閱類文檔 sparseMatrix 中的 coerce(from = "factor", ..)
)為單個因子 f
生成轉置稀疏模型矩陣(無對比)。
相關用法
- R sparseMatrix 從非零項構建一般稀疏矩陣
- R sparseQR-class 稀疏 QR 分解
- R sparseVector-class 稀疏向量類
- R sparseMatrix-class 虛擬類“sparseMatrix”——稀疏矩陣之母
- R sparseLU-class 稀疏 LU 分解
- R sparseVector 從非零條目構造稀疏向量
- R spMatrix 三元組的稀疏矩陣構造函數
- R solve-methods 函數求解矩陣包中的方法
- R symmetricMatrix-class 包矩陣中對稱矩陣的虛擬類
- R symmpart-methods 矩陣的對稱部分和偏斜(對稱)部分
- R dtrMatrix-class 三角形稠密數值矩陣
- R facmul-methods 乘以矩陣因式分解的因數
- R updown-methods 更新和降級稀疏 Cholesky 分解
- R bdiag 構建分塊對角矩陣
- R printSpMatrix 靈活格式化和打印稀疏矩陣
- R all.equal-methods 函數 all.equal() 的矩陣封裝方法
- R boolmatmult-methods 布爾算術矩陣乘積:%&% 和方法
- R ltrMatrix-class 三角密集邏輯矩陣
- R Hilbert 生成希爾伯特矩陣
- R nearPD 最近正定矩陣
- R lsyMatrix-class 對稱密集邏輯矩陣
- R CHMfactor-class 稀疏 Cholesky 分解
- R dgCMatrix-class 壓縮、稀疏、麵向列的數值矩陣
- R Cholesky-methods Cholesky 分解方法
- R Subassign-methods “[<-”的方法 - 分配給“矩陣”的子集
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Construct Sparse Design / Model Matrices。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。