2015-12-09 26 views
0

我有R內如何將列名與Jsonlite轉換R中不使用融化

a <- matrix(c(14,356,34,4),nrow = 2) 
colnames(a) <- c("test1", "test2") 
json.format <- toJSON(a) 
r.format <- fromJSON(json.format) 

以下測試矩陣,你可以看到,在一開始的矩陣a有columnames。轉換爲json並返回後,矩陣r.format丟失了列名。我知道在轉換爲json之前熔解a會得到期望的結果。無論出於何種原因,我都不能使用熔化函數。有沒有另一種方法來執行此操作?

+0

原因是你不能使用'熔化'功能,你還沒有加載它的包? '庫(reshape2)'。這就是說,爲什麼不直接轉換成'data.frame'呢? 'fromJSON(toJSON(as.data.frame(a)))''很好。 – Gregor

回答

0

jsonlite不喜歡顯式地保留矩陣的維度名稱。有沒有理由不把它存儲爲data.frame?你可以用

json.format <- toJSON(as.data.frame(a)) 
r.format <- as.matrix(fromJSON(json.format)) 

那裏來回轉換,或者你可以使用RJSONIO::toJSON函數,而不是jsonlite的

json.format <- RJSONIO::toJSON(a) 
r.format <- fromJSON(json.format) 

,但還是默認返回data.frame。

相關問題