我的数据框目前看起来像这样:
df$name <- c("Person A","Person B","Person C")
df$count <- c(50,100,150)
使用jsonlite包中的toJSON
生成一个不保留count变量的数字类的数组。:
toJSON(as.matrix(df))
[["Person A","50"],["Person B","100"],["Person C","150"]]
我完全认识到这是因为将df
转换为矩阵需要所有数据属于同一个类。相反,我希望保留这些类,以便name
保留为字符串,count
保留为数字,如下所示:
[["Person A",50],["Person B",100],["Person C",150]]
在某些情况下,我希望能够将JSON输出外部提供给Google Charts(而不是通过googleVis)。非常感谢建议和帮助 - 我已经尝试了很多东西,似乎无法产生我需要的产品。谢谢!
答案 0 :(得分:2)
您应该将data.frame转换为配对列表,然后再将其转换为json字符串。 :
library(RJSONIO)
## use cat for better print
cat(toJSON(Map(function(x,y)list(x,y),df$name,df$count)))
[
[
"Person A",
50
],
[
"Person B",
100
],
[
"Person C",
150
]
]