2016-06-16 30 views

回答

0

你可以這樣做:

jsstring = paste("var myarray = [", 
    gsub('\\(','[', 
     gsub('\\)',']', 
       gsub('c','',toString(df)))), "];") 
1

無正則表達式:

paste0("var myarray = [",paste0("[", apply(df, 2, function(x) paste0(x,"",collapse = ", ")),"]",collapse=", "),"];") 
#[1] "var myarray = [[1, 2, 3], [40, 50, 60], [100, 200, 300]];" 
0

//first convert dataframe to string (I have no IDEA) 
 
var myString = "a=c(1,2,3),b=c(40,50,60),c=c(100,200,300)"; 
 

 
var newString = myString.replace(new RegExp("\\(", "g") ,"~~~").replace(new RegExp("\\)", "g"),"~~~"); 
 

 
var result = newString.split('~~~').filter(function(num, index){ if(index % 2 !== 0) return num;}).map(function(item) { var arr = []; arr.push(item); return arr;}) 
 

 

 
console.log(JSON.stringify(result));

0

可以使用jsonlite包。 只需2行代碼。

library(jsonlite) 

toJSON(df,dataframe = "values") 

我認爲這應該工作。