[程式] R裡頭的dist函式一問

看板Statistics作者 (Nostalgie)時間14年前 (2012/03/03 20:38), 編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/1
------------------------------------------------------------------------ [軟體程式類別]: 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

03/05 14:02, , 1F
我也測不出來,不過我trace code of dist(),發現它是call
03/05 14:02, 1F

03/05 14:03, , 2F
一段C的程式碼; d <- .C("R_distance", .....)$d
03/05 14:03, 2F

03/05 14:04, , 3F
若真的非常想知道答案, 就去讀讀看吧. http://0rz.tw/I2nMF
03/05 14:04, 3F

03/05 14:10, , 4F
上面那個連結抓了兩次就死了 = =a
03/05 14:10, 4F

03/05 14:15, , 5F
http://www.badongo.com/file/26515695 ; 我重新上傳到這
03/05 14:15, 5F

03/05 23:59, , 6F
不管如何, 還是謝謝你 :)
03/05 23:59, 6F
文章代碼(AID): #1FKX3C00 (Statistics)