Re: [問題] plot出date-time資料整理

看板R_Language作者 (rlearner)時間7年前 (2017/01/11 15:44), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《rlearner (rlearner)》之銘言: : [目的]-------------------------------------------- : 在ubuntu 環境上取用Mysql資料 : 並使用shiny server 去plot呈現折線圖 : (之所以會用plot是因為shiny server無法library(ggplot2)) : [問題]-------------------------------------------- : 我從mysql取得的資料 : 如下url: : http://140.128.197.58:3838/sample-apps/rmysql2/ : 的下面的表格 : plot-xy圖中 : x軸是time : y軸是PM2.5 : 該資料有兩個欄位都是時間 : 不知可否吧 : Date和time 合拼 : 或不用合拼,只要讓x是照時間順序plot出pm2.5就行 : [code]-------------------------------------------- : 以下是在server.R的code,用shiny 執行 : library(DBI) : library(RMySQL) : conn <- dbConnect(MySQL(), host="localhost", dbname="Airbox", : username = "root", password = "[password]") : #成功連上數據庫 : ES = dbGetQuery(conn, "select * from data_school where site='ES'") : plot(ES$time, ES$PM2.5, type="l") : [錯訊訊息]-------------------------------------------- : (chrom訊息) : Error:An error has occurred. Check your logs or contact the app : suthor for clarification. : (按F12 Console) : Wed Jan 04 2017 01:31:16 GMT+0800 (台北標準時間) : [DBG]: 3 message(s) discarded from buffer : 希望大神,有什麼方法可整理資料?? : @@ 自己發現可以用paste先合拼, 再用strptime轉成tmd格式 方法如下: #step1:從資料庫中讀取 library(DBI) library(RMySQL) conn <- dbConnect(MySQL(), host="localhost", dbname="Airbox", username = "root", password = "air123") data = dbGetQuery(conn, "select * from data_school") head(data) 資料格式如下: Site Date Time PM2.5 PM10 1 ES 2016-03-26 13:59:00 13.940 20.094 2 ES 2016-03-26 14:04:00 13.833 19.061 3 ES 2016-03-26 14:09:00 15.548 19.548 4 ES 2016-03-27 14:14:00 17.410 20.199 5 ES 2016-03-27 14:19:00 19.566 21.706 6 ES 2016-03-27 14:24:00 19.909 20.104 ------------------------------------------------------ #step2:用paste strptime合拼、轉換成tm格式 date_time <- paste(data$Date,data$Time) d_t <- strptime(date_time , "%Y-%m-%d %H:%M:%S") #strptime中:%Y西元年,%m(數字)月份,%d日期,%H(24小時制)小時,%M分,$S秒 #另外"-"和":"以合拼資料格式為主 #step3:plot出來 plot(d_t , data$PM2.5,type='l') 跟大家分享 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.128.101.143 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1484120657.A.C55.html

01/11 23:52, , 1F
注意時區,可在strptime中加入tz="Asia/Taipei"
01/11 23:52, 1F

01/11 23:52, , 2F
叫出單筆ISOdatetime, 可以看到時區,CST是中原標準時間
01/11 23:52, 2F

01/11 23:53, , 3F
也是台北時間。
01/11 23:53, 3F

01/12 01:59, , 4F
唷唷!!感謝指教~~
01/12 01:59, 4F
文章代碼(AID): #1OTU9HnL (R_Language)
文章代碼(AID): #1OTU9HnL (R_Language)