2014-09-10 60 views
0

我有一個CSV文件是這樣的:你如何自定義格式opencpu輸出

DateTime  Server1 Server2 Server3 
8/24/2014 15:20 6.09 5.7  5.21 
8/24/2014 15:55 4.54 4.38 5.33 
8/24/2014 16:04 5.03 4.52 4.92 
8/24/2014 16:18 4.93 4.61 5.56 
8/24/2014 16:27 6.27 4.18 5.62 
8/24/2014 16:42 4.59 4.61 6.73 
8/24/2014 16:56 5.91 4.37 4.76 
8/24/2014 17:10 4.53 4.3  4.59 

我用ocpu洗車臺將其上傳。讀取csv文件的R函數是:

readcsvnew <- function(file, ...){ 
    if(!grepl(".csv$", file)){ 
    stop("Uploaded file must be a .csv file!") 
    } 
    read.csv(file, header=TRUE, ...); 
} 

一旦我使用ocpu讀取此文件,數據就在會話中。現在我需要打電話來更新我的html列表。要做到這一點,我需要對會話對象的調用和檢索JSON格式的標題:

<legend>Plot Parameters</legend> 
      <label>Y-Axis</label> 
      <select id="yaxis" multiple="multiple"> 

      </select> 
      <label>X-Axis</label> 
      <select name="xaxis" id="pollutant"> 

      </select> 

一旦我得到一個JSON的頭,我可以用JavaScript來填充它。現在,基於用戶選擇的x軸值(這將是DateTime)和Y軸值(這可能是Server1或Server1通過Server3)更新選擇列表,我需要再次調用會話並檢索值在自定義JSON格式如下:

{"name":"Server1","data":[[1408893651000,6.09],[1408895711000,4.54]},{"name":"Server2","data":[[1408893651000,5.7],[1408895711000,4.38]},{"name":"Server3","data":[[1408893651000,5.21],[1408895711000,5.33]} 

回答

1

如果檢索對象的輸出,HTTP GET參數被映射到jsonlite ::的toJSON()。例如:

使用2步驟過程使用定製JSON檢索來自一個RPC請求輸出的一個工作實例見this email

或者,您可以使用as.list使您的函數返回一個列表而不是數據框。

+0

我收到您提供的鏈接。你有一個返回函數as.list的工作例子嗎? – user1471980 2014-09-10 14:57:30

+0

我已更新我原來的帖子。 – user1471980 2014-09-10 15:27:04

+0

我需要一點幫助才能開始。我創建了另一個R函數,它將坐在服務器上,接受df和列名作爲參數,並返回值作爲自定義json,完成了。現在,我需要弄清楚如何將坐在會話中的數據幀傳遞給該函數。我如何將數據幀格式的現有會話中的數據傳遞給服務器上的R功能?有任何想法嗎? – user1471980 2014-09-10 17:57:19