r - R中MATLAB的normpdf()
问题描述
什么是 R 中 MATLAB 函数的最佳替代品normpdf()
。其中,MATLAB 的 normpdf(x) 返回标准正态分布的概率密度函数 (pdf),在 x 中的值处进行评估。
我尝试了dnorm()
R 中的函数,但是,它给了我一个错误,即 -
Error in dnorm(z) : Non-numeric argument to mathematical function
注意:我使用的矩阵z
属于dgeMatrix class
尺寸(645x7)。
有人可以解释这里出了什么问题。感谢您的帮助,非常感谢。
解决方案
dgeMatrix
可以转换为常规值matrix
,as.matrix
它只是具有dim
属性的值的向量
dnorm(as.matrix(z))
或者直接转换成vector
withas.vector
dnorm(as.vector(z))
数据
library(Matrix)
set.seed(24)
z <- as(matrix(rnorm(100), nrow = 20), "dgCMatrix") + 1
> class(z)
[1] "dgeMatrix"
attr(,"package")
[1] "Matrix"