[英]Create Time series with MySQL data in R Shiny
我正在尝试使用R Shiny开发仪表板,该仪表板从MySQL数据库提取数据并以图形形式表示。 我需要使用多个数据创建一个时间序列。 但是,当无法将MySQL中的时间戳值转换为时间序列中的日期时间值时,就会出现问题。 以下是我的server.R
代码:
con <- dbConnect(MySQL(),user="root",password="891208",host="localhost",dbname="openPos")
shinyServer(function(input, output) {
query1 <- reactive({ "SELECT sale_time,sum(quantity_purchased * item_unit_price)
AS revenue, sum(quantity_purchased * item_cost_price) AS cost,
sum(quantity_purchased * item_unit_price)-sum(quantity_purchased * item_cost_price) as profit
FROM ospos_sales, ospos_sales_items
WHERE ospos_sales.sale_id = ospos_sales_items.sale_id
GROUP BY sale_time"})
result1 <- reactive({dbGetQuery(con,query1())})
z <- reactive({ts(result1())})
output$ts <- renderPlot({p<-ts.plot(z())
print(p)})
output$table <-renderTable({z()})
该表的输出将如下所示
谁能告诉我为什么我不能使用这些数据库值创建时间序列?
如果保证时间戳是固定的时间间隔,那么您应该可以沿着ts(result1()[-1], start=myStart, frequency=myFrequency)
,在这里我要删除第一列不想根据时间绘制时间-其他列将作为从myStart开始的时间序列绘制(您应该能够从result1()[1,1]
提取该序列(我们不知道该格式为时间戳,因此很难提供指导),而myFrequency
将是您每单位时间进行的测量次数。
如果您没有固定的时间点,则使用ts
完全是错误的事情-在这种情况下,大多数人似乎都在使用zoo
软件包。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.