【发布时间】:2021-04-14 09:05:48
【问题描述】:
我在 data.frame (54x54) 中有相似度矩阵,下面有一部分
k2m1 k2m2 k3m1 k3m2 k3m3 k4m1 k4m2 k4m3 k4m4 k5m1 k5m2 k5m3 k5m4 k5m5 k6m1 k6m2
k2m1 1.00000 0.70593 0.98712 0.67291 0.84659 0.83849 0.69555 0.94776 0.29571 0.83640 0.78021 0.78101 0.80930 0.29568 0.90375 0.66605
k2m2 0.70593 1.00000 0.62491 0.99506 0.93949 0.88436 0.97591 0.55784 0.44880 0.88685 0.94409 0.93483 0.35098 0.44874 0.75674 0.96503
k3m1 0.98712 0.62491 1.00000 0.58903 0.77023 0.76720 0.61293 0.97078 0.26117 0.76834 0.70287 0.70255 0.87783 0.26114 0.85845 0.58731
k3m2 0.67291 0.99506 0.58903 1.00000 0.91326 0.87418 0.98249 0.51427 0.44762 0.85752 0.94062 0.93468 0.31851 0.44756 0.71141 0.97317
k3m3 0.84659 0.93949 0.77023 0.91326 1.00000 0.93244 0.91640 0.71039 0.41196 0.96470 0.93509 0.92326 0.48356 0.41191 0.90513 0.88415
k4m1 0.83849 0.88436 0.76720 0.87418 0.93244 1.00000 0.87680 0.65148 0.35668 0.89307 0.95398 0.93431 0.48784 0.35664 0.80183 0.85987
当我将其转换为距离矩阵时:
df <- 1 - df
我得到一些 1-1 减法为“0”,但有些是“2.2204e-16”,见下文:
k2m1 k2m2 k3m1 k3m2 k3m3 k4m1 k4m2 k4m3 k4m4 k5m1 k5m2 k5m3 k5m4 k5m5
k2m1 0.000000 2.9407e-01 1.2878e-02 0.3270884 0.153409 0.161507 0.304450 0.052237 0.70429 0.163605 0.219794 0.218985 0.19070 0.70432
k2m2 0.294070 2.2204e-16 3.7509e-01 0.0049388 0.060515 0.115635 0.024087 0.442162 0.55120 0.113154 0.055910 0.065169 0.64902 0.55126
k3m1 0.012878 3.7509e-01 1.1102e-16 0.4109739 0.229773 0.232802 0.387071 0.029223 0.73883 0.231656 0.297130 0.297452 0.12217 0.73886
k3m2 0.327088 4.9388e-03 4.1097e-01 0.0000000 0.086735 0.125816 0.017506 0.485726 0.55238 0.142484 0.059376 0.065321 0.68149 0.55244
k3m3 0.153409 6.0515e-02 2.2977e-01 0.0867352 0.000000 0.067559 0.083599 0.289610 0.58804 0.035305 0.064912 0.076741 0.51644 0.58809
k4m1 0.161507 1.1564e-01 2.3280e-01 0.1258165 0.067559 0.000000 0.123199 0.348521 0.64332 0.106927 0.046022 0.065694 0.51216 0.64336
我知道这是一个非常低的价值,但我认为它不应该是这样的。如何获得正确的值?
【问题讨论】:
标签: r dataframe precision calculation