【发布时间】:2020-11-17 10:54:45
【问题描述】:
你好社区我有以下错误:
Error in X - Q$Mu : argument non numérique pour un opérateur binaire
Called from: transpose(X - Q$Mu)
这是我的代码(r 语言),希望对我想模拟数据集并应用高斯分布有所帮助,但它给了我上面的错误
library(MixSim)
library(rlist)
Q <- MixSim(MaxOmega = 0.0, K = 2, p = 2)
A <- simdataset(n = 500, Pi = Q$Pi, Mu = Q$Mu, S = Q$S)
A
vk=data.frame(A$id)
v=count(vk,1)
v ########### count the elements of eah class (this exemple has 5 classes)
v[1,2]###### elements for class 1
v[2,2]######## elements for class 2
g <- function(X,sigma,i) {
return((1/2)*transpose(X-Q$Mu)*solve(Q$S[,,i])*(X-Q$Mu))-(1/2)*ln(sigma)+ln(v[i,2]/500)
}
g(A,sigma,1)
sigma=Q$Mu
mahalanobis(A, sigma, Q$S)
Q$Mu
ln(sigma)
Q$Mu
我想让它计算这个函数 Discriminant Gaussian distribution
P 是概率,Q$Mu 是平均值 Q$S[,,i] 是类 i 的协方差矩阵
【问题讨论】:
-
仔细检查函数中的括号:似乎
return()语句中的右括号放置得太早了