-
-
Save wch/671df409a4062312c0d0dd0bc3256e15 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_prerendered | |
--- | |
```{r global, include=FALSE} | |
# Running this app with the Knit button in RStudio may not work correctly. | |
# Use the following command, then connect to http://localhost:9000/ | |
# | |
# rmarkdown::run("reconnectIris.Rmd", | |
# shiny_args = list(launch.browser = FALSE, port = 9000)) | |
# 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} | |
plotOutput("kmeans") | |
``` | |
```{r, context="server"} | |
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) | |
}) | |
output$kmeans <- 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