R:散点图未显示
我正在尝试渲染一个基于动态滑块的散点图。然而,我似乎错过了什么 运行应用程序时,我看到的错误如下: 错误:第一个参数无效 我非常感谢你帮助我了解出了什么问题 请找到下面的代码(希望现在可以复制)R:散点图未显示,r,shiny,r-plotly,R,Shiny,R Plotly,我正在尝试渲染一个基于动态滑块的散点图。然而,我似乎错过了什么 运行应用程序时,我看到的错误如下: 错误:第一个参数无效 我非常感谢你帮助我了解出了什么问题 请找到下面的代码(希望现在可以复制) #加载要使用的库。Pacman确保图书馆的再现性 如果(!require(“pacman”))安装包(“pacman”) pacman::p_载荷(ggplot2、dplyr、tidyr、rpart、shiny、SHINYDASHORD、plotly、DT) #加载泰坦尼克号数据集 dataset您不应
#加载要使用的库。Pacman确保图书馆的再现性
如果(!require(“pacman”))安装包(“pacman”)
pacman::p_载荷(ggplot2、dplyr、tidyr、rpart、shiny、SHINYDASHORD、plotly、DT)
#加载泰坦尼克号数据集
dataset您不应该在闪亮的应用程序中调用plotlyOutput(“Trialplot”)
两次,而且,sliderInput
有两个值,即滑块的最小值和最大值,因此您不能使用此类dataset$Age==input$slider
:
我试图复制您的代码,现在它对我有效,下次尝试使用dput(data)
函数的输出发布您的数据
library(shiny)
pacman::p_load(ggplot2,dplyr,tidyr, rpart, shiny, shinydashboard, plotly, DT)
#load Titanic dataset
dataset<-read.csv("titanic.csv")
ui <- fluidPage(
dashboardHeader(
title = "My trial",
titleWidth = 300
),
dashboardSidebar(
sidebarMenu(
sidebarMenu(
menuItem("Visualization", tabName = "visualization", icon = icon("dashboard")),
menuItem("Data Table", tabName = "datatable", icon = icon("th"))
)
)
),
dashboardBody(
tabItems(
# Content of first tab
tabItem(tabName = "visualization",
h2("Visualization using Plot_ly"),
fluidRow(
# box(plotlyOutput("Trialplot")),
box(
title = "Age range",
status="primary",
solidHeader=TRUE,
collapsible=TRUE,
sliderInput("slider", "Please select the age range to be seen:", 0, max(dataset$Age,na.rm = T), c(0,max(dataset$Age,na.rm = T)/2), ticks=FALSE)
)
),
box(plotlyOutput("Trialplot"))
),
# Content of second tab
tabItem(tabName = "datatable",
h2("Data table")
)
)
)
)
server = shinyServer(function(input, output,session) {
observe({
print(input$slider)
})
output$Trialplot<-renderPlotly({
dataset_filtered<-dataset[dataset$Age >= input$slider[1] & dataset$Age <= input$slider[2],]
plot_ly(data = dataset_filtered, x = ~Fare, y = ~Age ,
color=~Survived,
colors=NULL,
type='scatter',
marker=list(size=10),
hoverinfo='text',
text=~paste("Name:",Name,", Age:",Age,", Fare",Fare)
)%>%
layout(title="Age vs.Fare")
})
}
)
shinyApp(ui,server)
库(闪亮)
pacman::p_载荷(ggplot2、dplyr、tidyr、rpart、shiny、SHINYDASHORD、plotly、DT)
#加载泰坦尼克号数据集
datasetNow变量dataset
未定义,因此仍然不可复制。再次道歉。修好了。谢谢你的耐心!这没有帮助,因为我们的计算机上没有CSV文件。此外,您似乎还包括了一些与问题无关的其他包装。另外,不要在一个问题上都包含rm(list=ls(all=TRUE))
,因为iMac可能会从试图帮助你的人那里删除数据,而且它(通常也不推荐用于你自己的代码)[谢谢你的提示,Flick先生。这是经典的泰坦尼克号数据集。我应该试着让它更具可复制性吗?很有效。非常感谢!
library(shiny)
pacman::p_load(ggplot2,dplyr,tidyr, rpart, shiny, shinydashboard, plotly, DT)
#load Titanic dataset
dataset<-read.csv("titanic.csv")
ui <- fluidPage(
dashboardHeader(
title = "My trial",
titleWidth = 300
),
dashboardSidebar(
sidebarMenu(
sidebarMenu(
menuItem("Visualization", tabName = "visualization", icon = icon("dashboard")),
menuItem("Data Table", tabName = "datatable", icon = icon("th"))
)
)
),
dashboardBody(
tabItems(
# Content of first tab
tabItem(tabName = "visualization",
h2("Visualization using Plot_ly"),
fluidRow(
# box(plotlyOutput("Trialplot")),
box(
title = "Age range",
status="primary",
solidHeader=TRUE,
collapsible=TRUE,
sliderInput("slider", "Please select the age range to be seen:", 0, max(dataset$Age,na.rm = T), c(0,max(dataset$Age,na.rm = T)/2), ticks=FALSE)
)
),
box(plotlyOutput("Trialplot"))
),
# Content of second tab
tabItem(tabName = "datatable",
h2("Data table")
)
)
)
)
server = shinyServer(function(input, output,session) {
observe({
print(input$slider)
})
output$Trialplot<-renderPlotly({
dataset_filtered<-dataset[dataset$Age >= input$slider[1] & dataset$Age <= input$slider[2],]
plot_ly(data = dataset_filtered, x = ~Fare, y = ~Age ,
color=~Survived,
colors=NULL,
type='scatter',
marker=list(size=10),
hoverinfo='text',
text=~paste("Name:",Name,", Age:",Age,", Fare",Fare)
)%>%
layout(title="Age vs.Fare")
})
}
)
shinyApp(ui,server)