Как создать радиолокационную карту в R блестящий - PullRequest
0 голосов
/ 04 июня 2019

Я пытался создать интерактивную карту радара или паука в R блестящий. Основываясь на приведенном ниже коде, я обнаружил ошибку: «объект df1 не найден». Не уверен, как создать радиолокационную карту в любом случае.

Я ожидаю манипулировать диаграммой паука, используя годы, с мерами в качестве вершин на радиолокационном графике.

Мой фрейм данных выглядит ниже, мне нужно транспонировать?

STATE   YEAR    measure    value

CA      2017    all_am     5000
NY      2017    all_am     6000  
FL      2017    all_am     7000
CA      2017    all_hw     5000
NY      2017    all_hw     6000  
FL      2017    all_hw     7000

CA      2016    all_am     5000
NY      2016    all_am     6000  
FL      2016    all_am     7000
CA      2016    all_hw     5000
NY      2016    all_hw     6000  
FL      2016    all_hw     7000

CA      2015    all_am     5000
NY      2015    all_am     6000  
FL      2015    all_am     7000
CA      2015    all_hw     5000
NY      2015    all_hw     6000  
FL      2015    all_hw     7000

Server.r

install.packages("shinydashboard")

library(shiny)
library(ggplot2)
library(dplyr)
library(leaflet)
library(shinydashboard)
library(graphics)
require(radarchart)


shinyServer(function(input, output) {

  df <- read.csv("C:/Users/Shruti/Desktop/Try2/newT1.csv")
  head(df)  

  df1 <- df[, (names(df) %in% c("STATE", "YEAR", "measure", "value"))]
  head(df1)


  df1[is.na(df1)] <- 0


  yearinput <- reactive({
    df1%>%
      filter(value == input$years)})   

  output$radarPlot <- renderchartJSRadar({


races <- df1[which(yearinput()$measure)]

chartJSRadar(races, distinct(raceinput()$measure))           

  })
})

ui.r

library(shiny)
library(shinydashboard)
library(fmsb)
library(graphics)
require(radarchart)

shinyUI(dashboardPage(
  dashboardHeader(title = "Working on it"),
  dashboardSidebar(),
  dashboardBody(

       box(
         title = "VALUES",
         sliderInput(
          "years",
          "Select Year:",
          min = min(df1$YEAR),
          max = max(df1$YEAR),
          value = c(min(df1$YEAR), max(df1$YEAR)),
          step = 1
        )
      )
    ),
  fluidRow(
    chartJSRadarOutput('radarPlot' )
      )
    )
)
)
...