作者Godkin (Nostalgie)
看板Statistics
标题[程式] R里头的dist函式一问
时间Sat Mar 3 20:38:34 2012
------------------------------------------------------------------------
[软体程式类别]:
R
[程式问题]:
计算distance matrix使用dist()时, 若matrix当中有NA时
它是怎麽计算的?
[软体熟悉度]:
中(3个月到1年)
[问题叙述]:
小弟手边有些资料必须计算当中的distance matrix, 但是当中有些missing values
原本我以为dist()在计算row跟row之间euclidean distance的时候, 会忽略NA不算
但是出来的结果却有点不太一样
[程式范例]:
x<-matrix(sample(1:80,16),nrow=4,ncol=4)
y<-x
y[sample(1:16,3)]<-NA
#x= [55,36,10,2;75,47,30,26;64,72,73,5;70,37,46,8]
#y= [55,36,NA,2;NA,47,30,26;64,72,73,5;70,NA,46,8]
dist(y, method="euclidean")
结果是:
1 2 3
2 37.33631
3 42.98837 62.34314
4 22.84732 34.05877 32.12476
如果我忽略有NA的column不计的话, 第一个row跟第二个row之间的距离却是26.40076
怎解?
-----------------------------------------------------------------------------
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.255.119.41
1F:→ gsuper:我也测不出来,不过我trace code of dist(),发现它是call 03/05 14:02
2F:→ gsuper:一段C的程式码; d <- .C("R_distance", .....)$d 03/05 14:03
4F:→ gsuper:上面那个连结抓了两次就死了 = =a 03/05 14:10
6F:→ Godkin:不管如何, 还是谢谢你 :) 03/05 23:59