gpt4 book ai didi

r - 将复杂的json转换为数据集

转载 作者:行者123 更新时间:2023-12-04 10:54:53 25 4
gpt4 key购买 nike

我在将复杂的 JSON 转换为数据集时遇到问题,例如:

[{
"dateTime": 1556368322971,
"eventName": "sampleEvent",
"vars": [{
"distance": 350,
"fuel" : 300,
"vehicleType": null
}]
}, {
"dateTime": 1556368322971,
"eventName": "sampleEvent",
"vars": [{
"distance": 360,
"fuel" : 290,
"vehicleType": "bus"
}]
}]

我已经在尝试用方法做到这一点:

result <- fromJSON(file = "./all.json")


json_file <- lapply(result, function(x) {
x[sapply(x, is.null)] <- NA
unlist(x)
})

但问题是所有 NULL 值都丢失了。这是非常有问题的,因为当我将它转换为 dataSet(matrix) 时,所有值都完全困惑并且没有不正确的空值。

我希望有一个数据集应该如下所示:

dateTime      | eventName   | distance | fuel | vehicleType
1556368322971 | sampleEvent | 350 | 300 | NA
1556368322971 | sampleEvent | 360 | 290 | bus

最佳答案

我们可以使用tidyr::unnest

library(tidyr)
result %>% unnest()
# dateTime eventName distance fuel vehicleType
#1 1.556368e+12 sampleEvent 350 300 <NA>
#2 1.556368e+12 sampleEvent 360 290 bus

示例数据

library(jsonlite)
result <- fromJSON("all.json")

文件 all.json 包含

[{
"dateTime": 1556368322971,
"eventName": "sampleEvent",
"vars": [{
"distance": 350,
"fuel" : 300,
"vehicleType": null
}]
}, {
"dateTime": 1556368322971,
"eventName": "sampleEvent",
"vars": [{
"distance": 360,
"fuel" : 290,
"vehicleType": "bus"
}]
}]

关于r - 将复杂的json转换为数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55880751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com