看板 R_Language 關於我們 聯絡資訊
大家好,剛開始統計軟體入門,寫過Matlab跟R 但最近在處理資料常常不知道怎麼解決error... [問題] 要做物種出現的「最大距離」,例如有三個地點,在三個點之間有三個不相等的距離。 而物種A出現在site1跟site3,所以距離就是distance(1-3) 物種B出現在site1,2,3,但因為2跟3比較遠,最大距離是distance(2-3) 我目前已經做出來兩兩site之間的distance matrix 但是我不知道用while迴圈怎麼讓R自動判斷這個物種的「最大距離」 資料形式 Species| site1 | site2 | site3 | max_distance ------------------------------------------------------- A | 5 | 0 | 20 | distance(1-3) B | 4 | 7 | 2 | distance(2-3) 我目前想到的邏輯是 table[1,2]-table[1,3]!=table[1,2]|table[1,3] 依序做成這個物種的「所有距離」,最後再用max()選擇「最大距離」 想問問大家如果寫成while loop怎麼寫比較好呢? [環境敘述]: R version 3.3.2 (2016-10-31) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows >= 8 x64 (build 9200) locale: [1] LC_COLLATE=Chinese (Traditional)_Taiwan.950 LC_CTYPE=Chinese (Traditional)_Taiwan.950 [3] LC_MONETARY=Chinese (Traditional)_Taiwan.950 LC_NUMERIC=C [5] LC_TIME=Chinese (Traditional)_Taiwan.950 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] sp_1.2-4 phyloseq_1.19.1 BiocInstaller_1.24.0 readxl_0.1.1 ggplot2_2.2.1 [6] vegan3d_1.0-1 vegan_2.4-2 lattice_0.20-34 permute_0.9-4 loaded via a namespace (and not attached): Error in x[["Version"]] : subscript out of bounds In addition: Warning messages: 1: In FUN(X[[i]], ...) : DESCRIPTION file of package 'Rcpp' is missing or broken 2: In FUN(X[[i]], ...) : DESCRIPTION file of package 'jsonlite' is missing or broken -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.69.189 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1491294986.A.742.html
andrew43: 距離矩陣是dist物件嗎?把它做as.matrix會比較容易對應 04/04 17:38
lilian0330: 謝謝!原本就有使用as.matrix轉成矩陣囉!但問題是讓 04/04 21:15
lilian0330: 系統自動判斷「兩個出現要取距離」及「找最大值」我想 04/04 21:15
lilian0330: 不到怎麼寫 04/04 21:15
andrew43: 對的,這二件事就是關鍵。請看我給你的code。 04/04 21:30
andrew43: 重點在combn那裡 04/04 21:30