I have a data frame called family 1 (below). This data will be used for constructing dendrograms and for principal component analysis. I would like to control the names of items in both dist() and promp() objects, which use row names to indicate the relation between items (i.e., dissimilarity matrix). I have created an array of different dendrograms by systematically naming the rows (code below). However, my family names are are alpha numeric "X22", "X2", "X75", and "X87", and are different on every row, thus R seems to get confused by them. The data frame will be very large and systematically naming rows will be exhaustive. Each row in the data frame may be labelled and ordered with a different a family name (i.e., "X22", "X87", "X22", "X4", "X22".....,). In the below example I organised the family names using ddply(). The question I am asking is how to rename the rownames in this large dataset with their correct corresponding family name contained under the column heading "Family". Then I can extract the column "Family" from the data frame and just rely on the rows names to indicate dissimilarity relations between families for their values of SBI.x, when using dist() and promp().
#Dendrogram
library(dendextend)
family1$Family <- as.factor(family1$Family)
class(family1$Family)
str(family1)
family1
family2 <- ddply(family1,.(Family), summarise, SBI.CV.mean = mean(SBI.CV))
family2
class(family2)
rownames(family2)
[1] "1" "2" "3" "4"
rownames(family2)[1] <- "X22"
rownames(family2)[2] <- "X4"
rownames(family2)[3] <- "X75"
rownames(family2)[4] <- "X87"
rownames(family2)
[1] "X22" "X4" "X75" "X87"
family2
keeps <- "SBI.CV.mean"
family3 <- family2[,keeps,drop=FALSE]
family3
par(mfrow = c(3,3))
require(graphics)
dend.data <- hclust(dist(family3))
dend <- as.dendrogram(dend.data)
plot(dend)
dend.data1 <- hclust(dist(family3), "single")
dend1 <- as.dendrogram(dend.data1, horiz=T)
plot(dend1, horiz=T)
dend.data2 <- hclust(dist(family3), "ave")
dend3 <- as.dendrogram(dend.data2, hang=0.02)
plot(dend2, horiz=TRUE)
dend.data3 <- hclust(dist(family3), "ave")
dend3 <- as.dendrogram(dend.data3, hang=-1)
plot(dend3)
colour.dend1 <- as.dendrogram(dend3)
colour.dend1
dend1_mod_01 <- colour.dend1
dend1_mod_01 <- colour_branches(dend1_mod_01, k=2)
col_for_labels <- c("purple","purple","orange","purple","orange","dark green")
dend_mod_01 <- color_labels(dend1_mod_01,col=col_for_labels)
plot(dend3)
plot(dend1_mod_01)
Family SBI.CV SBI.x
1 X22 66.666670 0.2859644782
2 X22 50.000000 -0.2724271529
3 X22 66.666670 0.2859644782
4 X22 50.000000 -0.2724271529
5 X22 66.666670 0.2859644782
6 X22 50.000000 -0.2724271529
7 X22 66.666670 0.2859644782
8 X22 50.000000 -0.2724271529
9 X22 66.666670 0.2859644782
10 X4 50.000000 -0.2724271529
11 X4 66.666670 0.2859644782
12 X4 50.000000 -0.2724271529
13 X4 66.666670 0.2859644782
14 X4 50.000000 -0.2724271529
15 X4 66.666670 0.2859644782
16 X4 50.000000 -0.2724271529
17 X4 66.666670 0.2859644782
18 X4 50.000000 -0.2724271529
19 X75 105.249338 1.5786185545
20 X75 78.507843 0.6826851131
21 X75 25.101428 -1.1066162398
22 X75 67.395050 0.3103677511
23 X75 67.857549 0.3258630822
24 X75 145.284695 2.9199427839
25 X75 60.806449 0.0896266157
26 X75 71.595201 0.4510874730
27 X75 8.845135 -1.6512588087
28 X75 119.192646 2.0457680508
29 X75 50.024029 -0.2716220975
30 X75 7.733006 -1.6885190128
31 X75 23.977506 -1.1442715506
32 X75 37.055887 -0.7061001284
33 X75 76.765617 0.6243144597
34 X75 86.444781 0.9486002452
35 X75 12.882740 -1.5159849452
36 X75 74.266621 0.5405893693
37 X75 45.465494 -0.4243489346
38 X75 16.600339 -1.3914324000
39 X75 42.897631 -0.5103813099
40 X75 41.374846 -0.5613999237
41 X75 73.292581 0.5079556288
42 X75 134.677664 2.5645702145
43 X75 13.588425 -1.4923420341
44 X75 87.600497 0.9873207660
45 X75 58.104290 -0.0009051445
46 X75 43.961024 -0.4747539319
47 X75 29.329649 -0.9649560749
48 X75 25.727674 -1.0856348125
49 X75 86.583227 0.9532386696
50 X75 45.530280 -0.4221783774
51 X75 37.480592 -0.6918710282
52 X75 53.528554 -0.1542082751
53 X75 52.208901 -0.1984212577
54 X75 13.855732 -1.4833863164
55 X75 73.891903 0.5280350081
56 X75 50.819011 -0.2449874251
57 X75 57.510157 -0.0208106742
58 X75 39.984956 -0.6079660910
59 X75 25.825865 -1.0823450712
60 X75 100.217554 1.4100362237
61 X75 47.522531 -0.3554310136
62 X87 7.014259 -1.7125995466
63 X87 70.808548 0.4247318511
64 X87 29.447163 -0.9610189457
65 X87 63.880988 0.1926344059
66 X87 20.743852 -1.2526102488
67 X87 85.819272 0.9276435100
68 X87 85.635091 0.9214728035
69 X87 45.392863 -0.4267823266
70 X87 64.801549 0.2234764132
71 X87 72.351927 0.4764404358
72 X87 125.895232 2.2703280817
73 X87 72.035520 0.4658396967
74 X87 56.762990 -0.0458433772
75 X87 54.722673 -0.1142011198
76 X87 124.943928 2.2384560765
77 X87 35.527844 -0.7572949035
78 X87 47.422399 -0.3587857852
79 X87 37.716625 -0.6839630986
80 X87 68.930631 0.3618150755
81 X87 74.545714 0.5499399592
82 X87 50.891461 -0.2425600971
83 X87 6.548454 -1.7282056403
84 X87 94.367915 1.2140528952
85 X87 42.406152 -0.5268475722
86 X87 59.187538 0.0353874453
87 X87 102.434045 1.4842964104
88 X87 85.227130 0.9078046857
89 X87 109.304906 1.7144942411
90 X87 36.815668 -0.7141483035
91 X87 18.201273 -1.3377955219
92 X87 45.524410 -0.4223750429
93 X87 99.347994 1.3809029280
94 X87 66.913808 0.2942444640
95 X87 79.170739 0.7048944434
96 X87 75.674816 0.5877688181
97 X87 65.629371 0.2512113403
98 X87 16.569935 -1.3924510401
99 X87 31.772731 -0.8831042987
100 X87 38.017454 -0.6738842769
101 X87 24.862990 -1.1146047452
102 X87 34.972611 -0.7758971474
103 X87 136.658358 2.6309303785
104 X87 14.192113 -1.4721163785