将R中的data.frame导出为纯JSON

将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

我想将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    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]}