Wissensdatenbank Wirtschaftsrecht

aktuelles Dokument: TutoriumGrundlagenStatistikTreemap
image4
image3
image2
image1
 Alle Kategorien:
  Forschungsdatenbank
  Lehrveranstaltungen
  Lexikon
  Literatur
  Rechtsgebiete
  Rechtsprechung
  Service
  Studium F H S
  Wissensmanagement
ich war hier: TutoriumGrundlagenStatistikTreemap

Version [93335]

Dies ist eine alte Version von TutoriumGrundlagenStatistikTreemap erstellt von FabianEndres am 2019-01-29 19:08:10.

 

 (image: https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/R_logo.svg/1280px-R_logo.svg.png)


Treemap

 (image: https://hssm.hqedv.de/uploads/TutoriumGrundlagenStatistikTreemap/Treemap_1.jpg)







 (image: https://hssm.hqedv.de/uploads/TutoriumGrundlagenStatistikTreemap/Treemap_2.jpg)










Aufgabe
Erstellt werden soll eine Treemap. Als Beispiel wird der mitgelieferte Datensatz mtcars verwendet.
Sobald mit der Maus über das Diagramm gefahren wird sollen die Informationen über Engine, Transmission, Number of forward gears, Number of carburators und die Variable count angezeigt werden.


server.R
Für die Aufgabe Treemap benötigen sie die gleichnamige Bibliothek Treemap. Bitte laden sie diese herunter bevor sie mit der Programmierung beginnen.



library(shiny)
library(treemap)

server <- function(input, output) {
data <- mtcars
#data$count <- ave(data$carb, data[,c('vs','am', 'gear', 'carb')], FUN=length) #kann weg
data$one <- 1

rV <- reactiveValues(
selectedData = data,
tile = data.frame()
)

output$vs <- renderUI({
selectInput(inputId = 'vs', label = 'Engine',
c(Choose = , V_shaped = 0, straight = 1)
)
})

output$am <- renderUI({
selectInput(inputId = 'am', label = 'Transmission',
c(Choose = , automatic = 0, manual = 1)
)
})

output$gear <- renderUI({
selectInput(inputId = 'gear', label = 'Number of forward gears',
c(Choose = , sort(unique(data$gear)))
)
})

output$carb <- renderUI({
selectInput(inputId = 'carb', label = 'Number of carburetors',
c(Choose = , sort(unique(data$carb)))
)
})

output$treemap <- renderPlot({
p <- treemap(rV$selectedData,
index = c('vs', 'am', 'gear', 'carb'),
vSize = 'one',
#vSize = 'count', #kann weg
type = 'index'
)
rV$tile <- p$tm[, c('vs', 'am', 'gear', 'carb', 'vSize', 'x0', 'y0', 'w', 'h')]
p
})

observeEvent(c(input$vs, input$am, input$gear, input$carb), {
rV$selectedData <- data
if(input$vs != '') rV$selectedData <- rV$selectedData[rV$selectedData$vs == input$vs,]
if(input$am != '') rV$selectedData <- rV$selectedData[rV$selectedData$am == input$am,]
if(input$gear != '') rV$selectedData <- rV$selectedData[rV$selectedData$gear == input$gear,]
if(input$carb != '') rV$selectedData <- rV$selectedData[rV$selectedData$carb == input$carb,]
})

output$hoverInfo <- renderUI({
hover <- input$hover # Zwischenspeicher
if (!is.null(hover)) {
for (i in 1:nrow(rV$tile)) {
if (hover$x >= rV$tile$x0[i] && hover$x <= (rV$tile$x0[i] + rV$tile$w[i]) &&
hover$y >= rV$tile$y0[i] && hover$y <= (rV$tile$y0[i] + rV$tile$h[i])) {

style <- paste0("position:absolute; z-index:100; background-color: rgba(245, 245, 245, 0.85); ",
"left:", hover$coords_img$x + 5, "px; top:", hover$coords_img$y + 5, "px;")

return(
wellPanel(
style = style,
p(HTML(paste0("<b> Engine: </b>", rV$tile$vs[i], "<br/>",
"<b> Transmission: </b>", rV$tile$am[i], "<br/>",
"<b> Number of forward gears: </b>", rV$tile$gear[i], "<br/>",
"<b> Number of carburetors: </b>", rV$tile$carb[i], "<br/>",
"<b> Count: </b>", rV$tile$vSize[i])))
)
)
}
}
}
})
}


ui.R


ui <- fluidPage(
titlePanel("Demo 6_Treemap"),
fluidRow(htmlOutput('vs')),
fluidRow(htmlOutput('am')),
fluidRow(htmlOutput('gear')),
fluidRow(htmlOutput('carb')),

fluidRow(
style = "position:relative",
uiOutput("hoverInfo"),
plotOutput('treemap',
dblclick = "dblclick",
hover = hoverOpts(id = "hover", delay = 250, delayType = "throttle")))
)


app.R

Die app.R bleibt hier komplett identisch.

source('server.R', encoding = "UTF-8")
source('ui.R', encoding = "UTF-8")

shinyApp(ui = ui, server = server)



Hier können Sie den Quellcode ohne Kommentare zusammengefasst herunterladen:
Scatterplott als .txt



<< Zurück >> Weiter

<< Zurück zur Übersicht: Tutorium Grundlagen Statistik

CategoryTutorienFKITWS1819
Diese Seite wurde noch nicht kommentiert.
Valid XHTML   |   Valid CSS:   |   Powered by WikkaWiki