将R中的data.frame导出为纯JSON
我想将R中的一个简单data.frame导出到一个简单的JSON对象中,理想情况下将多个变量附加到data.js文件中 这是我的data.frame:将R中的data.frame导出为纯JSON,json,r,dataframe,export,jsonlite,Json,R,Dataframe,Export,Jsonlite,我想将R中的一个简单data.frame导出到一个简单的JSON对象中,理想情况下将多个变量附加到data.js文件中 这是我的data.frame: df <- data.frame(Person=c("Dan", "Tom", "Max"), Apples=c(3,5,8), Pears=c(1,0,2), Bananas=c(30,1,4)) df Person Apples Pears Bananas 1 Dan 3 1 30 2 To
df <- data.frame(Person=c("Dan", "Tom", "Max"), Apples=c(3,5,8), Pears=c(1,0,2), Bananas=c(30,1,4))
df
Person Apples Pears Bananas
1 Dan 3 1 30
2 Tom 5 0 1
3 Max 8 2 4
谢谢 我忍不住要问“你试过什么…”
这很诱人,但不起作用,因为toJSON
处理行,
不是列,如列表所示:
library(rjson)
cat(toJSON(df))
## {"Person":["Dan","Tom","Max"],
## "Apples":[3,5,8],"Pears":[1,0,2],"Bananas":[30,1,4]}
apply(df,1,…)
会很好,但是apply()
做了很多工作
它很难关闭
tmp1 <- lapply(split(df,seq(nrow(df))),function(x) unname(as.list(x)))
cat(toJSON(c(list(names(df)),tmp1)))
## {"":["Person","Apples","Pears","Bananas"],
## "1":["Dan",3,1,30],"2":["Tom",5,0,1],"3":["Max",8,2,4]}
tmp1
tmp1 <- lapply(split(df,seq(nrow(df))),function(x) unname(as.list(x)))
cat(toJSON(c(list(names(df)),tmp1)))
## {"":["Person","Apples","Pears","Bananas"],
## "1":["Dan",3,1,30],"2":["Tom",5,0,1],"3":["Max",8,2,4]}