我有一个关于Smacof包中的smacofSym函数的问题。我使用的是R 3.1.0版到RStudio 0.98.501版。
我正在使用以下命令:
MDSdata <- smacofSym(DJaccardMatrix, ndim=2, metric=FALSE, verbose=TRUE).
我在下面包含了我正在使用的数据(DJaccardMatrix)的详细信息。每次运行smacofSym时,我都会得到一个配置,其中最终的配置就在彼此之上。以下是结果示例:
MDSdata$conf
D1 D2
1 0.06259624 -0.01494732
2 0.06276541 -0.01480409
3 0.06266933 -0.01492375
4 0.06262438 -0.01496111
5 0.06243336 -0.01496193
6 0.06258047 -0.01502270
7 0.06247747 -0.01500037 .......
为了检查结果,我在XLStat上运行了相同的矩阵,得到了我所期望的,一组分布更广的点。在查看了其他一些帮助请求后,我尝试将smacofSym同时作为矩阵和dist运行,但两者都没有影响结果。
以下是我关于DJaccardMatrix作为矩阵的信息:
num [1:121, 1:121] 0 0.969 0.679 0.704 0.939 ...
attr(*, "dimnames")=List of 2
..$ : chr [1:121] "1" "2" "3" "4" ...
..$ : chr [1:121] "1" "2" "3" "4" ...
以下是我关于DJaccardMatrix作为dist对象的信息:
Class 'dist' atomic [1:7260] 0.969 0.679 0.704 0.939 0.8 ...
..- attr(*, "Size")= int 121
..- attr(*, "call")= language as.dist.default(m = dissmat)
..- attr(*, "Diag")= logi FALSE
..- attr(*, "Upper")= logi FALSE
我感谢大家的推荐。我认为这是一个非常基本的东西,但我肯定找不到
这个答案与末尾括号中的附带问题有关:"smacof报告的非测量应力和Kruskal应力之间的关系是什么"
Kruskal应力(或stress-1)是smacof
报告的非度量应力(stress.nm
)的平方根。
因此,如果您有一个通过运行smacofSym
:获得的名为mod
的模型
Stress-1 = mod$stress.nm^.5