【发布时间】:2019-06-20 09:46:28
【问题描述】:
我收到错误消息“dist.mat[j, i]
uncenter.distance <- function(X) {
n <- nrow(X)
dist.mat <- matrix(0, n, n)
xj <- X[1,]
for (i in 1:n) {
for (j in 1:n) {
yj <- X[j,]
d <- 1 - sum(xj %*% yj) / sqrt((xj)^2 * (yj)^2)
dist.mat[j,i] <- d
dist.mat[i,j] <- d
}
xj <- X[1+i,]
}
return(dist.mat)
}
【问题讨论】:
-
sqrt((xj)^2 * (yj)^2)返回一个长度为n的向量,因此d也是一个长度为n的向量,dist.mat[j,i]需要一个值,这就是dist.mat[j,i] <- d不能工作的原因.您是否忘记将部分与平方根相加? -
出现新错误:X[1, ] 中的错误:“闭包”类型的对象不是子集
标签: r