看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 各位大神大家好~ http://i.imgur.com/tbduH5L.jpg
這個圖中的每一小坨是植物的位置 是先對每個點的光譜值做kmeans分四群後找出來的 四個頂點是邊界範圍 我想找出散布在圖中每一坨的中心點當作植物中心點 也想知道中心點的位置和個數 Hclust我只放入了x,y座標讓他們分群可是感覺分不太出來QQ結果如圖 http://i.imgur.com/mrC8b6c.jpg
想請問有除了分群以外的方法嗎? 另外想讓R自動決定分群數 有嘗試過elbow method 但是都會出現Error: cannot allocate vector of size 91.4 Gb 不知道自動決定分群數有沒有比較推薦的方法呢 先謝過各位大神了~ 現有每個點的資料格式如圖 最左邊是序號 band1~4是光譜值 x,y是x,y座標 http://i.imgur.com/UUPYeCU.jpg
[程式範例]: plant.cluster <- hclust(dist(remain.plant.add[,1:2]),method = "ward.D2") png("hclust.png",res = 200,width = 2259,height = 1549) plot(plant.cluster) dev.off() #elbow method elbow.k <- function(mydata){ dist.obj <- dist(mydata) hclust.obj <- hclust(dist.obj) css.obj <- css.hclust(dist.obj,hclust.obj) elbow.obj <- elbow.batch(css.obj) k <- elbow.obj$k return(k) } elbow.k(NDVI) #Error: cannot allocate vector of size 91.4 Gb [環境敘述]: R version 3.5.0 (2018-04-23) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows >= 8 x64 (build 9200) Matrix products: default locale: [1] LC_COLLATE=Chinese (Traditional)_Taiwan.950 [2] LC_CTYPE=Chinese (Traditional)_Taiwan.950 [3] LC_MONETARY=Chinese (Traditional)_Taiwan.950 [4] LC_NUMERIC=C [5] LC_TIME=Chinese (Traditional)_Taiwan.950 attached base packages: [1] stats graphics grDevices utils datasets methods [7] base other attached packages: [1] ggplot2_2.2.1 NbClust_3.0 rgdal_1.3-3 sp_1.3-1 loaded via a namespace (and not attached): [1] Rcpp_0.12.18 lattice_0.20-35 crayon_1.3.4 [4] grid_3.5.0 plyr_1.8.4 gtable_0.2.0 [7] scales_1.0.0 pillar_1.3.0 rlang_0.2.2 [10] lazyeval_0.2.1 rstudioapi_0.7 labeling_0.3 [13] tools_3.5.0 munsell_0.5.0 compiler_3.5.0 [16] colorspace_1.3-2 tibble_1.4.2 [關鍵字]: 分群、中心點、位置 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 117.19.1.14 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1540980684.A.F97.html
Wush978: 如果用別的分群演算法呢? 例如 dbscan or supc 10/31 19:04
andrew43: 看起來很均勻,這樣硬要分群沒什麼意思。 10/31 20:21
TreeMan: 自動決定分群數可以使用NbClust https://goo.gl/LwAtGx 10/31 20:29
eric500g: 就圖來看,是個平行四邊形,每坨也差不多等距,何不直接 10/31 21:59
先感謝樓上幾位大神的回答,會再嘗試看看dbscan和supc。 nbclust之前有試過(忘記寫在內文抱歉)但也是一樣的error: 91.4gb QQ 也有想過直接算出每坨的中心點,但是從我的資料中看不出來哪些點是屬於哪一坨的QQ 所以才會想說分群不知道能不能看出來哪些點是同一坨這樣~若大神們有各種想法都歡迎提出,謝謝您們寶貴的建議!
eric500g: 算出大概的中心點?不知道理解有沒有錯 10/31 21:59
※ 編輯: w32123 (117.19.1.14), 10/31/2018 22:26:21
andrew43: 光譜資料和座標資料有關嗎?你實際想分析什麼? 11/01 10:13
Bourdieu1984: 試試fpc套件的pam函數 11/09 07:29