我用'lsa'包中的余弦()计算余弦相似度。这里有三个测试向量:
d <- data.frame(c(-1,1,0,-1,1,1,-1,1,0),c(-1,1,1,1,-1,1,-1,0,1),c(0,0,1,0,-1,-1,0,1,-1))
colnames(d) <- c("vector1","vector2","vector3")
d_dist <- cosine(as.matrix(d))
现在,我希望使用cmdscale进行降维,然后将其绘制为散点图:
fit <- cmdscale(d_dist,k=2)
x <- fit[,2]
y <- fit[,1]
plot(x,y)
但是我总是在cmdscale(d_dist,k = 2)中得到警告:前2个特征值中只有0个&gt; 0 [翻译自德语]和一个空的适合对象。
我做错了什么?非常感谢你的帮助!
答案 0 :(得分:0)
输入应该是距离矩阵。例如:
d_dist <- 1-d_dist
fit <- cmdscale(d_dist,k=2)
x <- fit[,2]
y <- fit[,1]
plot(x,y)