[英]R matrix transposing error “requires numeric/complex matrix/vector arguments”
[英]r error : requires numeric/complex matrix/vector arguments?
下午好 !
我正在尝试从头开始实现 EM 算法。 我开发了一个包含以下内容的代码:
k=10
w_k=rep(1,k)/k
n_j=rep(0,k)
print(w_k)
data=iris[1:150,-5]
means=sample(1:dim(data)[1],k,replace=FALSE)
means
mu=iris[means,-5]
sigma=cov(data)
print("mu")
mu
print("sigma")
sigma
print("inv")
solve(sigma)
print("mu[1,] ")
as.vector(mu[1,])
as.vector(mu[1,]) %*% solve(sigma) #line of error
不幸的是,这一行给出了以下错误:
Error in as.vector(mu[1, ]) %*% solve(sigma) :
requires numeric/complex matrix/vector arguments
Execution halted
我试图通过使用as.matrix()
多次解决这个问题,但没有成功。 预先感谢您的帮助!
向量mu
是一个 data.frame。 尝试将其转换为矩阵。
as.matrix(mu[1,]) %*% solve(sigma)
# Sepal.Length Sepal.Width Petal.Length Petal.Width
#95 16.37781 11.46013 -0.198358 -9.473886
mu
是一个数据框,应该转换为矩阵。
k=10
w_k=rep(1,k)/k
n_j=rep(0,k)
print(w_k)
data=iris[1:150,-5]
means=sample(1:dim(data)[1],k,replace=FALSE)
means
mu=as.matrix(iris[means,-5])
sigma=cov(data)
print("mu")
mu
print("sigma")
sigma
print("inv")
solve(sigma)
print("mu[1,] ")
is.numeric(mu[1,])
is.matrix(mu[1,])
rbind(mu[1,]) %*% solve(sigma) %*% cbind(mu[1,])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.