R中的Matlab语句X(isnan(X))=0
的等价物是什么?注意X
在R中的类型为matrix.csr
。(这是来自pkg:SparseM。)
答案 0 :(得分:1)
您确定要使用matrix.csr类吗?它来自SparseM包,据我所知,至少从包文档中可以看出,没有is.na<-
或is.na[
方法。 Matrix-package确实记录了is.na-methods:
> library(Matrix);M <- Matrix(1:6, nrow=4, ncol=3,
+ dimnames = list(c("a", "b", "c", "d"), c("A", "B", "C")))
> stopifnot(all(!is.na(M)))
> M[2:3,2] <- NA
> M[is.na(M)] <- 0
> M
4 x 3 Matrix of class "dgeMatrix"
A B C
a 1 5 3
b 2 0 4
c 3 0 5
d 4 2 6
Matrix包现在是推荐的包之一。我的印象是SparseM没有广泛使用。
答案 1 :(得分:0)
R中的函数实际上是is.na。
然后你可以使用逻辑索引,就像你在Matlab中使用一样(只是小心使用方括号):
X[is.na(X)]=0