2016-06-23 128 views
0

我從網站獲得了一個使用GET functionhttr程序包的數據集,但現在數據的字符格式如下。我如何將它轉換成表格以便我可以繪製?非常感謝!將字符格式的數據轉換爲可讀表格

print(resContent) 

[1] "{\"pTType\":\"line\",\"gBType\":\"line\",\"data\":[[9624,8873,8671,8420,8452,8718,9712,10373,11061,11708,11253,10482,10780,10829,10884,11318,10849,10732],[1635,1244,1361,1493,1695,1478,1838,1787,1824,1985,1983,1802,2030,2253,2251,2127,1972,2023]]}" 

> length(resContent) 
[1] 1 

> typeof(resContent) 
[1] "character" 
+0

這看起來像json格式的數據。我會做一個搜索f或轉換JSON到數據框。 – Benjamin

+2

更好地使用'dput'來顯示數據(顯示'dput(resContent)') – Batanichek

+0

是否需要將所有值繪製爲直方圖 –

回答

0

我的假設是,前兩個元素的名字分別列的名字,但我不知道這是一個堅實的假設。無論如何,下面的代碼應該讓你朝着正確的方向前進。

library(rjson) 
library(magrittr) 
resContent <- "{\"pTType\":\"line\",\"gBType\":\"line\",\"data\":[[9624,8873,8671,8420,8452,8718,9712,10373,11061,11708,11253,10482,10780,10829,10884,11318,10849,10732],[1635,1244,1361,1493,1695,1478,1838,1787,1824,1985,1983,1802,2030,2253,2251,2127,1972,2023]]}" 

rjson::fromJSON(resContent)$data %>% 
    as.data.frame() %>% 
    setNames(c("PTType", "gBType")) 
+0

非常感謝!這給了我正是我想要的。 –

0

下面將提取逗號分隔您提供和返回數值矢量從字符串數:

as.numeric(unlist(strsplit(gsub("^.*\\[(\\d.*)\\]\\].*$", "\\1", resContent), split=","))) 

[1] 1635 1244 1361 1493 1695 1478 1838 1787 1824 1985 1983 1802 2030 2253 2251 2127 1972 2023 
  • gsub提取子表達式(逗號的子分隔的數字),
  • strsplit將其分割爲逗號,
  • unlist返回數字的向量s存儲爲字符
  • as.numeric將這些轉換爲數字向量。
相關問題