> data(iris) > names(iris) [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species" > help(iris) > library(lattice) > splom(~ iris) > > x <- iris[ , 1:4] > out <- princomp(x, cor = TRUE) > summary(out) Importance of components: Comp.1 Comp.2 Comp.3 Comp.4 Standard deviation 1.7083611 0.9560494 0.38308860 0.143926497 Proportion of Variance 0.7296245 0.2285076 0.03668922 0.005178709 Cumulative Proportion 0.7296245 0.9581321 0.99482129 1.000000000 > plot(out) > loadings(out) Loadings: Comp.1 Comp.2 Comp.3 Comp.4 Sepal.Length 0.521 -0.377 0.720 0.261 Sepal.Width -0.269 -0.923 -0.244 -0.124 Petal.Length 0.580 -0.142 -0.801 Petal.Width 0.565 -0.634 0.524 Comp.1 Comp.2 Comp.3 Comp.4 SS loadings 1.00 1.00 1.00 1.00 Proportion Var 0.25 0.25 0.25 0.25 Cumulative Var 0.25 0.50 0.75 1.00 > library(Rggobi) > ggobi(iris) jvar 1 tform min 2.000000 display min 2.000000 jvar 2 tform min 1.000000 display min 1.000000 jvar 3 tform min 0.100000 display min 0.100000 jvar 4 tform min 1.000000 display min 1.000000 [1] "ggobi reference (1)" > Segmentation fault cross$ R --vanilla R : Copyright 2003, The R Development Core Team Version 1.8.0 (2003-10-08) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for a HTML browser interface to help. Type 'q()' to quit R. > data(iris) > names(iris) [1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species" > library(Rggobi) > ggobi(iris) jvar 1 tform min 2.000000 display min 2.000000 jvar 2 tform min 1.000000 display min 1.000000 jvar 3 tform min 0.100000 display min 0.100000 jvar 4 tform min 1.000000 display min 1.000000 [1] "ggobi reference (1)" > library(MASS) > data(crabs) > names(crabs) [1] "sp" "sex" "index" "FL" "RW" "CL" "CW" "BD" > help(crabs) > library(lattice) > splom(~ crabs[ , -3]) > library(Rggobi) > ggobi(crabs) jvar 1 tform min 1.000000 display min 1.000000 jvar 2 tform min 1.000000 display min 1.000000 jvar 3 tform min 7.200000 display min 7.200000 jvar 4 tform min 6.500000 display min 6.500000 jvar 5 tform min 14.700000 display min 14.700000 jvar 6 tform min 17.100000 display min 17.100000 jvar 7 tform min 6.100000 display min 6.100000 [1] "ggobi reference (1)" > foo <- crabs > foo$foo <- paste(crabs$sp, crabs$sex) > unique(foo$foo) [1] "B M" "B F" "O M" "O F" > ggobi(foo) jvar 1 tform min 1.000000 display min 1.000000 jvar 2 tform min 1.000000 display min 1.000000 jvar 3 tform min 7.200000 display min 7.200000 jvar 4 tform min 6.500000 display min 6.500000 jvar 5 tform min 14.700000 display min 14.700000 jvar 6 tform min 17.100000 display min 17.100000 jvar 7 tform min 6.100000 display min 6.100000 jvar 8 tform min 0.000000 display min 0.000000 [1] "ggobi reference (1)" Warning message: NAs introduced by coercion > class(foo$foo) [1] "character" > foo$foo <- as.factor(foo$foo) > ggobi(foo) jvar 1 tform min 1.000000 display min 1.000000 jvar 2 tform min 1.000000 display min 1.000000 jvar 3 tform min 7.200000 display min 7.200000 jvar 4 tform min 6.500000 display min 6.500000 jvar 5 tform min 14.700000 display min 14.700000 jvar 6 tform min 17.100000 display min 17.100000 jvar 7 tform min 6.100000 display min 6.100000 jvar 8 tform min 1.000000 display min 1.000000 [1] "ggobi reference (1)" > Segmentation fault > library(MASS) > data(crabs) > foo <- crabs > foo$foo <- paste(crabs$sp, crabs$sex) > foo$foo <- as.factor(foo$foo) > library(Rggobi) > ggobi(foo) jvar 1 tform min 1.000000 display min 1.000000 jvar 2 tform min 1.000000 display min 1.000000 jvar 3 tform min 7.200000 display min 7.200000 jvar 4 tform min 6.500000 display min 6.500000 jvar 5 tform min 14.700000 display min 14.700000 jvar 6 tform min 17.100000 display min 17.100000 jvar 7 tform min 6.100000 display min 6.100000 jvar 8 tform min 1.000000 display min 1.000000 [1] "ggobi reference (1)" > lcrabs <- log(crabs[ , 4:8]) > out <- princomp(lcrabs) > summary(out) Importance of components: Comp.1 Comp.2 Comp.3 Comp.4 Standard deviation 0.5166405 0.07465358 0.047914392 0.024804021 Proportion of Variance 0.9689051 0.02023046 0.008333672 0.002233308 Cumulative Proportion 0.9689051 0.98913557 0.997469244 0.999702552 Comp.5 Standard deviation 0.0090521887 Proportion of Variance 0.0002974484 Cumulative Proportion 1.0000000000 > plot(out) > loadings(out) Loadings: Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 FL -0.452 -0.157 0.438 0.752 0.114 RW -0.387 0.911 CL -0.453 -0.204 -0.371 -0.784 CW -0.440 -0.672 0.591 BD -0.497 -0.315 0.458 -0.652 0.136 Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 SS loadings 1.0 1.0 1.0 1.0 1.0 Proportion Var 0.2 0.2 0.2 0.2 0.2 Cumulative Var 0.2 0.4 0.6 0.8 1.0 > foo <- predict(out) > class(foo) [1] "matrix" > dim(foo) [1] 200 5 > foo <- as.data.frame(foo) > foo$sp <- crabs$sp > foo$sex <- crabs$sex > ggobi(foo) jvar 1 tform min -0.129606 display min -0.129606 jvar 2 tform min -0.118727 display min -0.118727 jvar 3 tform min -0.058840 display min -0.058840 jvar 4 tform min -0.023722 display min -0.023722 jvar 5 tform min 1.000000 display min 1.000000 jvar 6 tform min 1.000000 display min 1.000000 [1] "ggobi reference (1)" > data(iris) > x <- iris[ , 1:4] > out <- cmdscale(dist(x)) > plot(out, asp = 1) > plot(out, asp = 1, col = 1 + as.numeric(iris$Species)) > plot(out, asp = 1, col = 1 + as.numeric(iris$Species), axes = FALSE) > plot(out, asp = 1, col = 1 + as.numeric(iris$Species)) > u <- par("usr") > legend(u[1] + 0.5, u[4] - 0.5, legend = levels(iris$Species), + col = 1 + 1:3, pch = 1) > plot(out, asp = 1, col = 1 + as.numeric(iris$Species)) > legend(locator(1), legend = levels(iris$Species), + col = 1 + 1:3, pch = 1) > data(iris) > x <- iris[ , 1:4] > hout <- hclust(dist(x), method = "single") > plclust(hout) > plclust(hout, hmin = 0.2) Warning message: argument 'hmin' is not used (yet) in: .NotYetUsed("hmin", error = FALSE) > cutree(hout, 3) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 141 142 143 144 145 146 147 148 149 150 2 2 2 2 2 2 2 2 2 2 > cout <- cutree(hout, 3) > plot(out, asp = 1, col = 1 + as.numeric(iris$Species)) > u <- par("usr") > legend(u[1] + 0.5, u[4] - 0.5, legend = levels(iris$Species), + col = 1 + 1:3, pch = 1) > dev.copy(x11) X11 3 > plot(out, asp = 1, col = 1 + cutree(hout, 3)) > u <- par("usr") > legend(u[1] + 0.5, u[4] - 0.5, legend = paste("cluster", 1:3), + col = 1 + 1:3, pch = 1) > hout <- hclust(dist(x), method = "complete") > plclust(hout) > plot(out, asp = 1, col = 1 + cutree(hout, 3)) > u <- par("usr") > legend(u[1] + 0.5, u[4] - 0.5, legend = paste("cluster", 1:3), + col = 1 + 1:3, pch = 1) > > nclust <- 5 > plot(out, asp = 1, col = 1 + cutree(hout, nclust)) > u <- par("usr") > legend(u[1] + 0.5, u[4] - 0.5, legend = paste("cluster", 1:nclust), + col = 1 + 1:3, pch = 1) > > nclust <- 5 > plot(out, asp = 1, col = 1 + cutree(hout, nclust)) > u <- par("usr") > legend(u[1] + 0.5, u[4] - 0.5, legend = paste("cluster", 1:nclust), + col = 1 + 1:nclust, pch = 1) > q()