[問題]資料中有NaN要怎麼求相關係數

看板MATLAB作者 (境)時間11年前 (2012/12/10 21:20), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
corrcoef這個指令不能算有NaN的 目前我只知道用cftool畫迴歸線可以求 但感覺有點麻煩 我照著相關係數定義寫了下列code dX=X-nanmean(X); dY=Y-nanmean(Y); dXdY=nansum((dX).^2)*nansum((dY).^2); corr=nansum(dX.*dY)/(dXdY)^0.5 r_squaure=corr^2 但算出來的值跟用cftool的差很多 請問我有哪裡寫錯 或者有其他更好的方法嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.206

12/10 23:04, , 1F
有試過isnan嗎??
12/10 23:04, 1F

12/11 13:02, , 2F
因為你 X Y NaN 的點不是樣的點阿
12/11 13:02, 2F

12/11 13:02, , 3F
公式是假設沒有任何 NaN 的狀況
12/11 13:02, 3F

12/11 13:03, , 4F
你應該把所有 NaN 的點去掉 (X 或 Y 有 NaN 就去掉)
12/11 13:03, 4F

12/11 16:21, , 5F
雖然還是有點模糊 但謝謝指教!
12/11 16:21, 5F
文章代碼(AID): #1GnU6mgZ (MATLAB)