gpt4 book ai didi

r - 使用 Shiny 的 R-markdown 创建动态图

转载 作者:行者123 更新时间:2023-12-01 16:09:30 27 4
gpt4 key购买 nike

我正在尝试使用 RStudio 中的 Shiny 创建带有动态图的 RMarkdown。
我的数据描述了销售点交易,如下所示:

Date|Time|Timestamp|CustomerID|Amount|City
11-Nov-15,0:00:59,11/11/15 00:00:59,6350000476,214584,City A
11-Nov-15,0:00:59,11/11/15 00:01:00,7800004763,165,City B
11-Nov-15,0:01:00,11/11/15 00:01:01,4547000063,65132,City C
11-Nov-15,0:01:01,11/11/15 00:01:34,6350000476,4676,City C
11-Nov-15,0:01:34,11/11/15 00:01:36,4657000063,16556,City A
11-Nov-15,0:01:36,11/11/15 00:02:55,7800009476,684,City A

该数据集有大约 250,000 行。

我有一个十个城市的列表,我打算让读者从下拉列表中选择,散点图有 Timestampx-axisAmounty-axis .为了使可视化更加清晰,我还想要 Amount要在 slider 上选择的值。

简而言之,我正在尝试重新创建找到的内容 here .

我试过的代码在这里:
{r, echo=FALSE}
require(ggplot2)

inputPanel(
selectInput("city_choose", label = "Select city",
choices = c("City A"="City A","City B"="City B", "City C"="City C",multiple=TRUE ), selected ="City C" ),

sliderInput("amount_adjust", label = "Amount",min = 0, max = 350000, value = 1, step = 10000)
)

renderPlot({
ggplot(data=d2, aes(x=timestamp,y=amount_adjust,color=city_choose))+ geom_point()
})

问题
  • 我的数据在 d2 . RStudio 无法“找到”它。我通过在 session 开始时使用 RScript 将其手动加载到内存中来解决它,但是有没有更好的方法来做到这一点?
  • 该图使用 selectInput 中的值和 sliderInput ,但我不确定如何在绘图函数中调用它们。我试过input$city_choose , as.Text(input$city_choose)只是city_choose .没有一个可以“找到”。我对 Amount 有同样的问题柱子。如示例所示,如何通过从下拉列表和 slider 中获取值来绘制图形?
  • 我也不能使用 server.R/ui.R设置。我想要一个可以自由分享的 RMarkdown 输出。
  • 最佳答案

    好吧,这基本上是可行的,尽管我不确定您想要什么样的情节。这是 R-markdown 文件:

    ---
    title: "City Plot"
    author: "Someone"
    date: "December 24, 2015"
    runtime: shiny
    output: html_document
    ---

    Test

    ```{r,echo=F}
    require(ggplot2)
    shinyApp(
    ui = fluidPage(
    selectInput("city_choose", label = "Select city",
    choices = c("City A"="City A","City B"="City B",
    "City C"="City C",multiple=TRUE ), selected ="City C" ),

    sliderInput("amount_adjust",
    label = "Amount",min = 1, max = 10, value = 1, step = 1),
    plotOutput("cityplt")
    ),
    server = function(input, output) {
    set.seed(1234)
    n <- 200
    sdate <- as.POSIXct("2015-11-11 00:00:00",tz="UCT")
    edate <- as.POSIXct("2015-11-11 23:59:59",tz="UCT")
    d3 <- data.frame(
    Timestamp = as.POSIXct(runif(n,sdate,edate),tz="UCT",origin="1970-01-01"),
    Amount = runif(n,10000,1000000),
    City = sample(c("City A","City B","City C"),n,replace=T)
    )
    d3 <- d3[ order(d3$Timestamp), ]

    output$cityplt <- renderPlot({
    d4 <- d3[ d3$City==input$city_choose, ]
    d4$AdjAmount <- input$amount_adjust*d4$Amount
    ggplot(data=d4,aes(x=Timestamp,y=AdjAmount)) +
    geom_bar(stat="Identity") +
    labs(title=input$city_choose)
    })
    },
    options = list(height = 800)
    )

    ```

    Finished

    产量:

    enter image description here

    关于r - 使用 Shiny 的 R-markdown 创建动态图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34454099/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com