我正在尝试将R数据帧导出为特定的JSON格式。这是针对多个类别的时代格式的时间序列数据。
我正在使用jsonlite包进行JSON输出,但是我想尝试以特定格式导出文件。
这是我的数据框:
Type<-c("Type1", "Type1", "Type1", "Type2", "Type2", "Type2", "Type3", "Type3", "Type3")
Day<-c("2019-05-02 00:00:00.0","2019-05-03 00:00:00.0","2019-05-04 00:00:00.0","2019-05-02 00:00:00.0","2019-05-03 00:00:00.0","2019-05-04 00:00:00.0","2019-05-02 00:00:00.0","2019-05-03 00:00:00.0","2019-05-04 00:00:00.0")
Value<-c(3,4,2,9,14,18,35,9,23)
DF<-data.frame(Type,Day,Value)
转换为时代时间:
DF$Day<- as.integer(as.POSIXct(DF$Day), tz="EST")
然后我按类型进行汇总,并创建“日期”和“值”列的列表:
DF2 <- aggregate(cbind(Day, Value) ~ Type, DF, list)
并导出为JSON格式:
jsonlite::toJSON(DF2, pretty = TRUE)
其中给出以下内容:
[
{
"Type": "Type1",
"Day": [1556769600, 1556856000, 1556942400],
"Value": [3, 4, 2]
},
{
"Type": "Type2",
"Day": [1556769600, 1556856000, 1556942400],
"Value": [9, 14, 18]
},
{
"Type": "Type3",
"Day": [1556769600, 1556856000, 1556942400],
"Value": [35, 9, 23]
}
]
但是,我正在尝试将格式更改为以下格式:
[
{
key : Type1 ,
values : [ [ 1556769600 , 3] , [ 1556856000 , 4] , [ 1556942400 , 2] ]
} ,
{
key : Type2 ,
values : [ [ 1556769600 , 9] , [ 1556856000 , 14] , [ 1556942400 , 18] ]
} ,
{
key : Type3 ,
values : [ [ 1556769600 , 35] , [ 1556856000 , 9] , [ 1556942400 , 23] ]
}
]
如果您可以提供帮助,请告诉我。感谢您的协助。
谢谢!