• 検索結果がありません。

樹状図のインタラクティブな操作 identify.hclust()

ドキュメント内 ためになった他の人のサイト script of (ページ 164-167)

5.1 クラスタリングと樹状図 .1 階層的クラスタリング hclust()

5.1.9 樹状図のインタラクティブな操作 identify.hclust()

learning , . . 1 raises . , . , 1

critical . 1

advance . . . 1

attr(,"legend")

[1] 0 0.3 . 0.6 , 0.8 + 0.9 * 0.95 B 1

> heatmap(Ca, symm = TRUE, margins=c(6,6)) # reorder()使用

> heatmap(Ca, Rowv=FALSE, symm = TRUE, margins=c(6,6)) # reorder()不使用

# 距離を定義する関数を自前で与える例(以下の図を参照)

# 米国最高裁判事の法律家による評価データUSJudgeRatings使用

> symnum( cU <- cor(USJudgeRatings) ) CO I DM DI CF DE PR F O W PH R CONT 1

INTG 1 DMNR B 1 DILG + + 1 CFMG + + B 1 DECI + + B B 1

PREP + + B B B 1

FAMI + + B * * B 1

ORAL * * B B * B B 1 WRIT * + B * * B B B 1 PHYS , , + + + + + + + 1 RTEN * * * * * B * B B * 1 attr(,"legend")

[1] 0 0.3 . 0.6 , 0.8 + 0.9 * 0.95 B 1

> hU <- heatmap(cU, Rowv = FALSE, symm = TRUE, col = topo.colors(16), distfun = function(c) as.dist(1 - c), keep.dendro = TRUE)

# 同じ再並べ替えを持つ相関行列

> round(100 * cU[hU[[1]], hU[[2]]])

CONT INTG DMNR PHYS DILG CFMG DECI RTEN ORAL WRIT PREP FAMI

CONT 100 -13 -15 5 1 14 9 -3 -1 -4 1 -3

INTG -13 100 96 74 87 81 80 94 91 91 88 87

DMNR -15 96 100 79 84 81 80 94 91 89 86 84

PHYS 5 74 79 100 81 88 87 91 89 86 85 84

(以下省略)

> str(hU$Colv) # 列デンドログラム

--[dendrogram w/ 2 branches and 12 members at h = 1.15]

|--leaf "CONT"

‘--[dendrogram w/ 2 branches and 11 members at h = 0.258]

|--[dendrogram w/ 2 branches and 2 members at h = 0.0354]

| |--leaf "INTG"

| ‘--leaf "DMNR"

‘--[dendrogram w/ 2 branches and 9 members at h = 0.187]

(以下省略)

FUN

クラスタ中のデータ点の添字数に適用される

(

オプションの

)

関数.下の詳細を 見よ

N

照合されるべきクラスタの最大数

MAXCLUSTER

切断により作り出すことのできるクラスタの最大数

(

ポインタの有効な垂

直範囲を制限する

DEV.FUN

オプションの整数値.もし指定されると,対応するグラフィックスデバイス

FUN

の適用前にアクティブになる

... FUN

への追加引き数

返り値: データ点の添字のベクトルのリストか,関数

FUN

の返り値のリスト

既定では,クラスタはマウス用いて特定され,該当データ点の「コンソールには表示

されない

(invisible)

」添字のリストが返される.もし,

FUN

NULL

で無ければ,データ

点の添字ベクトルは,この関数の第一引き数として引き渡される.以下の例を参照せよ.

FUN

に対するアクティブなグラフィックスデバイスは

DEV.FUN

を用いて指定できる.特 定の過程はマウスの第一ボタン以外を押すと停止する.

identify()

関数を参照せよ.

cyl am vs carb wt drat gear qsec mpg hp disp specification variables

Maserati Bora Chrysler Imperial Lincoln Continental Cadillac Fleetwood Hornet Sportabout Pontiac Firebird Ford Pantera L Camaro Z28 Duster 360 Valiant Hornet 4 Drive AMC Javelin Dodge Challenger Merc 450SLC Merc 450SE Merc 450SL Honda Civic Toyota Corolla Fiat X1−9 Fiat 128 Ferrari Dino Merc 240D Mazda RX4 Mazda RX4 Wag Merc 280C Merc 280 Lotus Europa Merc 230 Volvo 142E Datsun 710 Porsche 914−2 Toyota Corona

Car Models

heatmap(<Mtcars data>, ..., scale = "column")

mpg cyl disp hp drat wt qsec vs am gear carb

specification variables

Maserati Bora Chrysler Imperial Lincoln Continental Cadillac Fleetwood Hornet Sportabout Pontiac Firebird Ford Pantera L Camaro Z28 Duster 360 Valiant Hornet 4 Drive AMC Javelin Dodge Challenger Merc 450SLC Merc 450SE Merc 450SL Honda Civic Toyota Corolla Fiat X1−9 Fiat 128 Ferrari Dino Merc 240D Mazda RX4 Mazda RX4 Wag Merc 280C Merc 280 Lotus Europa Merc 230 Volvo 142E Datsun 710 Porsche 914−2 Toyota Corona

Car Models

heatmap(<Mtcars data>, ..., scale = "column")

mpg cyl disp hp drat wt qsec vs am gear carb

Mazda RX4 Mazda RX4 Wag Datsun 710 Hornet 4 Drive Hornet Sportabout Valiant Duster 360 Merc 240D Merc 230 Merc 280 Merc 280C Merc 450SE Merc 450SL Merc 450SLC Cadillac Fleetwood Lincoln Continental Chrysler Imperial Fiat 128 Honda Civic Toyota Corolla Toyota Corona Dodge Challenger AMC Javelin Camaro Z28 Pontiac Firebird Fiat X1−9 Porsche 914−2 Lotus Europa Ford Pantera L Ferrari Dino Maserati Bora Volvo 142E

heatmap(*, NA, NA) ~= image(t(x))

critical advance privileges rating complaints learning raises

raises learning complaints rating privileges advance critical

privileges rating complaints learning raises critical advance

advance critical raises learning complaints rating privileges

CONT INTG DMNR PHYS DILG CFMG DECI RTEN ORAL WRIT PREP FAMI

FAMI PREP WRIT ORAL RTEN DECI CFMG DILG PHYS DMNR INTG CONT

樹状図に対するヒートマップ

# 米国犯罪検挙率データUSArrests使用(次の図を参照)

> hca <- hclust(dist(USArrests)) # 階層的クラスタリング

> plot(hca) # そのプロット

# マウス第一ボタンでで樹状図の特定クラスタ選択すると該当副木が枠で囲まれ,

# その部分の情報が返される.同時に複数の選択ができる

> (x <- identify(hca)) # 選択中止はマウスの第2ボタンを押す

[[1]]

Arkansas Colorado Georgia Massachusetts Missouri

4 6 10 21 25

New Jersey Oklahoma Oregon Rhode Island Tennessee

30 36 37 39 42

Texas Virginia Washington Wyoming

43 46 47 50

# アヤメデータirisを使用

> hci <- hclust(dist(iris[,1:4])) # 階層的クラスタリング

# 新しいデバイスを開く(樹状図と棒グラフ用に二つ)

> get(getOption("device"))() # 元のデバイスの脇に

> nD <- dev.cur() # 棒グラフ用

> dev.set(dev.prev()) # 樹状図用の元のデバイス

> plot(hci) # 樹状図を描く

# マウスでクラスタを選択すると,クラスタ中のアヤメの種類の棒グラフが描かれる

> identify(hci, function(k) barplot(table(iris[k,5]),col=2:4), DEV.FUN=nD)

Florida

North Carolina Delaware Alabama Louisiana

AlaskaMississippiSouth CarolinaMarylandArizonaNew MexicoCaliforniaIllinoisNew YorkMichiganNevadaMissouriArkansasTennesseeGeorgiaColoradoTexasRhode IslandWyomingOregonOklahomaVirginia Washington

MassachusettsNew Jersey

Ohio Utah

ConnecticutPennsylvaniaNebraska

Kentucky Montana

Idaho

Indiana Kansas

HawaiiMinnesotaWisconsinIowaNew HampshireWest VirginiaMaineSouth DakotaNorth DakotaVermont

050100150200250300

Cluster Dendrogram

hclust (*, "complete") dist(USArrests)

Height Florida

North Carolina Delaware Alabama Louisiana

AlaskaMississippiSouth CarolinaMarylandArizonaNew MexicoCaliforniaIllinoisNew YorkMichiganNevadaMissouriArkansasTennesseeGeorgiaColoradoTexasRhode IslandWyomingOregonOklahomaVirginia Washington

MassachusettsNew Jersey

Ohio Utah

ConnecticutPennsylvaniaNebraska

Kentucky Montana

Idaho

Indiana Kansas

HawaiiMinnesotaWisconsinIowaNew HampshireWest VirginiaMaineSouth DakotaNorth DakotaVermont

050100150200250300

Cluster Dendrogram

hclust (*, "complete") dist(USArrests)

Height

樹状図中の副木のマウスによる操作(米国犯罪検挙率データ).元の樹状図(左).クラスタ を選択した様子(右)

ドキュメント内 ためになった他の人のサイト script of (ページ 164-167)