简体   繁体   English

如何将json数据转换为R中的数据帧?

[英]how do you convert a json data to a data frame in R?

I have a variable called data that has json formated data: 我有一个名为data的变量,它具有json格式的数据:

dput(data)

{\\"data\\": [{\\"target\\": \\"in\\", \\"datapoints\\": [[5, 1423825200000.0], [0, 1423825500000.0], [0, 1423825800000.0], [0, 1423826100000.0], [0, 1423826400000.0], [0, 1423826700000.0], [0, 1423827000000.0], [0, 1423827300000.0], [0, 1423827600000.0], [0, 1423827900000.0], [0, 1423828200000.0], [1, 1423828500000.0], [1, 1423828800000.0], [0, 1423829100000.0], [0, 1423829400000.0], [0, 1423829700000.0], [0, 1423830000000.0], [0, 1423830300000.0], [0, 1423830600000.0], [0, 1423830900000.0], [0, 1423831200000.0], [0, 1423831500000.0], [0, 1423831800000.0], [0, 1423832100000.0], [0, 1423832400000.0], [0, 1423832700000.0], [0, 1423833000000.0], [0, 1423833300000.0], [0, 1423833600000.0], [0, 1423833900000.0], [0, 1423834200000.0], [0, 1423834500000.0], [1, 1423834800000.0], [0, 1423835100000.0], [4, 1423835400000.0], [9, 1423835700000.0], [1, 1423836000000.0], [3, 1423836300000.0], [0, 1423836600000.0], [1, 1423836900000.0], [1, 1423837200000.0], [0, 1423837500000.0], [0, 1423837800000.0], [0, {\\“ data \\”:[{\\“ target \\”:\\“ in \\”,\\“ datapoints \\”:[[5,1423825200000.0],[0,1423825500000.0],[0,1423825800000.0],[0,1423826100000.0 ],[0,1423826400000.0],[0,1423826700000.0],[0,1423827000000.0],[0,1423827300000.0],[0,1423827600000.0],[0,1423827900000.0],[0,1423828200000.0],[1,1423828500000.0], [1,1423828800000.0],[0,1423829100000.0],[0,1423829400000.0],[0,1423829700000.0],[0,1423830000000.0],[0,1423830300000.0],[0,1423830600000.0],[0,1423830900000.0],[0 ,1423831200000.0],[0,1423831500000.0],[0,1423831800000.0],[0,1423832100000.0],[0,1423832400000.0],[0,1423832700000.0],[0,1423833000000.0],[0,1423833300000.0],[0,1423833600000.0 ],[0,1423833900000.0],[0,1423834200000.0],[0,1423834500000.0],[1,1423834800000.0],[0,1423835100000.0],[4,1423835400000.0],[9,1423835700000.0],[1,1423836000000.0], [3,1423836300000.0],[0,1423836600000.0],[1,1423836900000.0],[1,1423837200000.0],[0,1423837500000.0],[0,1423837800000.0],[0, 1423838100000.0], [0, 1423838400000.0], [0, 1423838700000.0], [0, 1423839000000.0], [0, 1423839300000.0], [0, 1423839600000.0], [0, 1423839900000.0], [0, 1423840200000.0], [2, 1423840500000.0], [0, 1423840800000.0], [0, 1423841100000.0], [0, 1423841400000.0], [0, 1423841700000.0], [0, 1423842000000.0], [0, 1423842300000.0], [0, 1423842600000.0], [0, 1423842900000.0], [0, 1423843200000.0], [0, 1423843500000.0], [0, 1423843800000.0], [0, 1423844100000.0], [0, 1423844400000.0], [0, 1423844700000.0], [0, 1423845000000.0], [0, 1423845300000.0], [0, 1423845600000.0], [0, 1423845900000.0], [0, 1423846200000.0], [0, 1423846500000.0], [0, 1423846800000.0], [0, 1423847100000.0], [0, 1423847400000.0], [0, 1423847700000.0], [0, 1423848000000.0], [0, 1423848300000.0], [0, 1423848600000.0], [1, 1423848900000.0], [1, 1423849200000.0]]}, {\\"target\\": \\"out\\", \\"datapoints\\": [[5, 1423825200000.0], [0, 1423825500000.0], [0, 1423825800000.0], [0, 1423826100000.0], [0, 1423826400000.0], [0, 1423826700000 1423838100000.0],[0、1423838400000.0],[0、1423838700000.0],[0、1423839000000.0],[0、1423839300000.0],[0、1423839600000.0],[0、1423839900000.0],[0、1423840200000.0],[2、1423840500000.0] ,[0,1423840800000.0],[0,1423841100000.0],[0,1423841400000.0],[0,1423841700000.0],[0,1423842000000.0],[0,1423842300000.0],[0,1423842600000.0],[0,1423842900000.0],[ 0,1423843200000.0],[0,1423843500000.0],[0,1423843800000.0],[0,1423844100000.0],[0,1423844400000.0],[0,1423844700000.0],[0,1423845000000.0],[0,1423845300000.0],[0, 1423845600000.0],[0、1423845900000.0],[0、1423846200000.0],[0、1423846500000.0],[0、1423846800000.0],[0、1423847100000.0],[0、1423847400000.0],[0、1423847700000.0],[0、1423848000000.0] ,[0,1423848300000.0],[0,1423848600000.0],[1,1423848900000.0],[1,1423849200000.0]]},{\\“ target \\”:\\“ out \\”,\\“ datapoints \\”:[[5, 1423825200000.0],[0、1423825500000.0],[0、1423825800000.0],[0、1423826100000.0],[0、1423826400000.0],[0、1423826700000 .0], [0, 1423827000000.0], [0, 1423827300000.0], [0, 1423827600000.0], [0, 1423827900000.0], [0, 1423828200000.0], [1, 1423828500000.0], [1, 1423828800000.0], [0, 1423829100000.0], [0, 1423829400000.0], [0, 1423829700000.0], [0, 1423830000000.0], [0, 1423830300000.0], [0, 1423830600000.0], [0, 1423830900000.0], [0, 1423831200000.0], [0, 1423831500000.0], [0, 1423831800000.0], [0, 1423832100000.0], [0, 1423832400000.0], [0, 1423832700000.0], [0, 1423833000000.0], [0, 1423833300000.0], [0, 1423833600000.0], [0, 1423833900000.0], [0, 1423834200000.0], [0, 1423834500000.0], [1, 1423834800000.0], [0, 1423835100000.0], [4, 1423835400000.0], [9, 1423835700000.0], [1, 1423836000000.0], [3, 1423836300000.0], [0, 1423836600000.0], [1, 1423836900000.0], [1, 1423837200000.0], [0, 1423837500000.0], [0, 1423837800000.0], [0, 1423838100000.0], [0, 1423838400000.0], [0, 1423838700000.0], [0, 1423839000000.0], [0, 1423839300000.0], [0, 1423839600000.0], [0, 1423839900000.0], [0, 1423840200000.0], [2, 1 .0],[0、1423827000000.0],[0、1423827300000.0],[0、1423827600000.0],[0、1423827900000.0],[0、1423828200000.0],[1、1423828500000.0],[1、1423828800000.0],[0、1423829100000.0 ],[0,1423829400000.0],[0,1423829700000.0],[0,1423830000000.0],[0,1423830300000.0],[0,1423830600000.0],[0,1423830900000.0],[0,1423831200000.0],[0,1423831500000.0], [0,1423831800000.0],[0,1423832100000.0],[0,1423832400000.0],[0,1423832700000.0],[0,1423833000000.0],[0,1423833300000.0],[0,1423833600000.0],[0,1423833900000.0],[0 ,1423834200000.0],[0,1423834500000.0],[1,1423834800000.0],[0,1423835100000.0],[4,1423835400000.0],[9,1423835700000.0],[1,1423836000000.0],[3,1423836300000.0],[0,1423836600000.0 ],[1、1423836900000.0],[1、1423837200000.0],[0、1423837500000.0],[0、1423837800000.0],[0、1423838100000.0],[0、1423838400000.0],[0、1423838700000.0],[0、1423839000000.0], [0,1423839300000.0],[0,1423839600000.0],[0,1423839900000.0],[0,1423840200000.0],[2,1 423840500000.0], [0, 1423840800000.0], [0, 1423841100000.0], [0, 1423841400000.0], [0, 1423841700000.0], [0, 1423842000000.0], [0, 1423842300000.0], [0, 1423842600000.0], [0, 1423842900000.0], [0, 1423843200000.0], [0, 1423843500000.0], [0, 1423843800000.0], [0, 1423844100000.0], [0, 1423844400000.0], [0, 1423844700000.0], [0, 1423845000000.0], [0, 1423845300000.0], [0, 1423845600000.0], [0, 1423845900000.0], [0, 1423846200000.0], [0, 1423846500000.0], [0, 1423846800000.0], [0, 1423847100000.0], [0, 1423847400000.0], [0, 1423847700000.0], [0, 1423848000000.0], [0, 1423848300000.0], [0, 1423848600000.0], [1, 1423848900000.0], [1, 1423849200000.0]]}]} 423840500000.0],[0、1423840800000.0],[0、1423841100000.0],[0、1423841400000.0],[0、1423841700000.0],[0、1423842000000.0],[0、1423842300000.0],[0、14238442600000.0],[0、14223842900000.0] ,[0,1423843200000.0],[0,1423843500000.0],[0,1423843800000.0],[0,1423844100000.0],[0,1423844400000.0],[0,1423844700000.0],[0,1423845000000.0],[0,1423845300000.0],[ 0,1423845600000.0],[0,1423845900000.0],[0,1423846200000.0],[0,1423846500000.0],[0,1423846800000.0],[0,1423847100000.0],[0,1423847400000.0],[0,1423847700000.0],[0, 1423848000000.0],[0、1423848300000.0],[0、1423848600000.0],[1、1423848900000.0],[1、1423849200000.0]]]}}

I need to convert this data to a data frame in R. 我需要将此数据转换为R中的数据帧。

DateTime In Out
1423848600000.0  N/A  0
1423848300000.0  N/A  4
etc

I tried using this: 我尝试使用此:

require(jsonlite)
dat <- fromJSON(data)

dat looks like this: dat看起来像这样:

$at
  arge
1   NA
2   NA
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    atapoint
1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       NULL
2 5.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 1.000000e+00, 1.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 1.000000e+00, 0.000000e+00, 4.000000e+00, 9.000000e+00, 1.000000e+00, 3.000000e+00, 0.000000e+00, 1.000000e+00, 1.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 2.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00, 1.000000e+00, 1.000000e+00, 1.423825e+12, 1.423825e+12, 1.423826e+12, 1.423826e+12, 1.423826e+12, 1.423827e+12, 1.423827e+12, 1.423827e+12, 1.423828e+12, 1.423828e+12, 1.423828e+12, 1.423829e+12, 1.423829e+12, 1.423829e+12, 1.423829e+12, 1.423830e+12, 1.423830e+12, 1.423830e+12, 1.423831e+12, 1.423831e+12, 1.423831e+12, 1.423831e+12, 1.423832e+12, 1.423832e+12, 1.423832e+12, 1.423833e+12, 1.423833e+12, 1.423833e+12, 1.423834e+12, 1.423834e+12, 1.423834e+12, 1.423834e+12, 1.423835e+12, 1.423835e+12, 1.423835e+12, 1.423836e+12, 1.423836e+12, 1.423836e+12, 1.423837e+12, 1.423837e+12, 1.423837e+12, 1.423838e+12, 1.423838e+12, 1.423838e+12, 1.423838e+12, 1.423839e+12, 1.423839e+12, 1.423839e+12, 1.423840e+12, 1.423840e+12, 1.423840e+12, 1.423841e+12, 1.423841e+12, 1.423841e+12, 1.423841e+12, 1.423842e+12, 1.423842e+12, 1.423842e+12, 1.423843e+12, 1.423843e+12, 1.423843e+12, 1.423843e+12, 1.423844e+12, 1.423844e+12, 1.423844e+12, 1.423845e+12, 1.423845e+12, 1.423845e+12, 1.423846e+12, 1.423846e+12, 1.423846e+12, 1.423847e+12, 1.423847e+12, 1.423847e+12, 1.423847e+12, 1.423848e+12, 1.423848e+12, 1.423848e+12, 1.423849e+12, 1.423849e+12, 1.423849e+12

This is the general idea: 这是一般的想法:

out <- NULL
for(i in seq.int(length(x$data))){

    mx <- do.call(rbind,x$data[[2]]$datapoints)

    #>       [,1]         [,2]
    #>  [1,]    5 1.423825e+12
    #>  [2,]    0 1.423825e+12
    #>  [3,]    0 1.423826e+12
    ...

    df <- as.data.frame(x$data[[2]]$target)
    names(df) <- c('out','date')

    out <- cbind(out,df)
}

Note that this won't actally run for your current example because x$data[[2]]$target if the length of this value is not consistent with the length of the values in x$data[[2]]$datapoints 请注意,这对于您当前的示例实际上不会运行,因为x$data[[2]]$target如果此值的长度与x $ data [[2]] $ datapoints中的值的长度不一致

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM