Analisis cluster dengan daisy

Saya mencoba melakukan analisis cluster Hierarki dengan RStudio, dengan menggunakan paket daisy. Ini kumpulan data saya:

data.frame':341 obs. of  28 variables:
$ Impo_Env : Ord.factor w/ 3 levels "Low"<"Med"<"High": 3 2 3 2 3 2 3 3 2 3 ...
$ ComparativePriority_IAS: Ord.factor w/ 3 levels "Low"<"Med"<"High": 3 1 3 2 3 2 3 2 3 2 ...
$ Strategy_Eradication: Ord.factor w/ 3 levels "No intervention"<..: 3 2 3 2 3 2 3 2 2 3 ...
$ Knowl_BiodivLoss: Factor w/ 2 levels "0","1": 2 1 2 2 2 1 2 2 2 2 ...
$ Control_Trade: Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
$ Engagement_Retail: Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
$ Knowl_PastProj: Factor w/ 2 levels "0","1": 1 1 1 1 2 1 1 1 2 1 ...
$ Priority_IAS: Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
$ Knowl_Eradic: Factor w/ 2 levels "0","1": 2 1 2 1 2 2 1 2 2 1 ...
$ Alert_CFS: Factor w/ 2 levels "0","1": 1 2 1 2 1 2 2 1 2 1 ...
$ Alert_Municipality: Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
$ Alert_Park: Factor w/ 2 levels "0","1": 2 1 2 1 2 1 1 2 1 1 ...
$ Alert_Police: Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
$ Alert_Firemen: Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 2 ...
$ Supp_AuthorityIAS: Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
$ Knowl_Env: Factor w/ 2 levels "0","1": 2 1 2 2 2 2 2 2 2 2 ...
$ Info_Tv: Factor w/ 2 levels "0","1": 2 2 1 2 2 2 2 1 2 1 ...
$ Info_Web: Factor w/ 2 levels "0","1": 2 1 2 2 2 1 2 1 2 2 ...
$ Info_Radio: Factor w/ 2 levels "0","1": 1 1 1 1 1 2 1 2 1 1 ...
$ Info_Magazines: Factor w/ 2 levels "0","1": 1 1 2 1 2 1 1 2 1 1 ...
$ Info_School: Factor w/ 2 levels "0","1": 1 1 2 1 1 1 1 1 1 2 ...
$ Blacklist: Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
$ Workshop: Factor w/ 2 levels "0","1": 1 1 2 1 2 1 2 2 1 1 ...
$ SuppFin_FutProj: Factor w/ 2 levels "0","1": 2 1 2 1 2 2 2 2 2 2 ...
$ Tourist_dummy: Factor w/ 2 levels "0","1": 1 1 1 2 2 1 1 1 2 1 ...
$ Gender: Factor w/ 2 levels "Female","Male": 1 2 1 2 1 1 2 2 2 1 ...
$ logIASknown: num  2.89 2.94 2.89 2.56 3.14 ...
$ Age: int  20 41 14 10 26 33 19 59 23 16 ...

Saya ingin menggunakan jarak Euclidean dengan daisy, namun ketika saya berlari

daisy(fuu, metric = c("euclidean"), type=list(ordratio = c(1,2,3), asymm=c(4:24), symm=c(25,26)))

Outputnya tidak bagus. Jarak Gower digunakan sebagai pengganti jarak Euclidean:

Pesan peringatan:Dalam daisy(fuu, metric = c("euclidean"), ketik = list(ordratio = c(1,:dengan variabel campuran, metrik "gower" digunakan secara otomatis

Bagaimana cara memperbaikinya?


person user8780    schedule 10.02.2016    source sumber


Jawaban (1)


Seperti yang dijelaskan di bagian "Detail" dalam dokumentasi fungsi daisy yang terdapat dalam paket cluster:

Penanganan data biner nominal, ordinal, dan (a)simetris dilakukan dengan menggunakan koefisien ketidaksamaan umum Gower (1971). Jika x berisi kolom mana pun dari tipe data ini, argumen metrik dan stand akan diabaikan dan koefisien Gower akan digunakan sebagai metrik.

Dengan kata lain, agar metrik euclidean (jarak sebagai akar jumlah kuadrat selisih) dapat dihitung, kolom masukan harus berupa variabel numerik (mode) (yaitu semua kolom ketika x adalah matriks) dan dengan demikian dikenali sebagai variabel berskala interval, dibandingkan dengan variabel nominal (kolom faktor kelas) atau variabel ordinal (kolom urutan kelas). Menentukan tipe variabel dalam argumen tipe tidak mengubah fakta ini.

Berdasarkan premis ini, dan seandainya 28 variabel Anda masuk akal meskipun beberapa di antaranya biner kualitatif, Anda dapat mencoba mengonversinya dengan as.numeric dan melanjutkan, alasannya adalah: dengan variabel campuran, metrik "gower" dikesampingkan menjadi otomatis digunakan.

person Ana Maria Mendes-Pereira    schedule 22.02.2016
comment
konversi variabel kualitatif sebagai.numerik yang disarankan adalah agar faktor biner diterima oleh daisy untuk menghitung jarak euclidean, yang jika tidak ditangani dengan metode Gower. - person Ana Maria Mendes-Pereira; 02.06.2016