Created
October 11, 2016 20:57
-
-
Save nwstephens/c1c4f6de4c10e07d9fd79b3a72668487 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
title: "Iris K-Means Clustering" | |
output: | |
flexdashboard::flex_dashboard: | |
orientation: columns | |
social: menu | |
source_code: embed | |
runtime: shiny | |
--- | |
```{r global, include=FALSE} | |
# load data in 'global' chunk so it can be shared by all users of the dashboard | |
library(datasets) | |
data(iris) | |
``` | |
Column {.sidebar} | |
----------------------------------------------------------------------- | |
```{r} | |
selectInput('xcol', 'X Variable', names(iris)) | |
selectInput('ycol', 'Y Variable', names(iris), | |
selected=names(iris)[[2]]) | |
numericInput('clusters', 'Cluster count', 3, | |
min = 1, max = 9) | |
``` | |
Column | |
----------------------------------------------------------------------- | |
### K Means | |
```{r} | |
palette(c("#E41A1C", "#377EB8", "#4DAF4A", "#984EA3", | |
"#FF7F00", "#FFFF33", "#A65628", "#F781BF", "#999999")) | |
# Combine the selected variables into a new data frame | |
selectedData <- reactive({ | |
iris[, c(input$xcol, input$ycol)] | |
}) | |
clusters <- reactive({ | |
kmeans(selectedData(), input$clusters) | |
}) | |
renderPlot({ | |
par(mar = c(5.1, 4.1, 0, 1)) | |
plot(selectedData(), | |
col = clusters()$cluster, | |
pch = 20, cex = 3) | |
points(clusters()$centers, pch = 4, cex = 4, lwd = 4) | |
}) | |
session$allowReconnect("force") | |
``` | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment