Я хочу проанализировать вложенный файл JSON в R со структурой, подобной этой:
{
"HIP":
{
"prenatal":{
Cluster0:{"x":23,"y":34},
Cluster1:{"x":21,"y":20}
...
},
"early_childhood":{
Cluster0:{"x":23,"y":34},
Cluster1:{"x":21,"y":20}
...
},
"adulthood":{
Cluster0:{"x":23,"y":34},
Cluster1:{"x":21,"y":20}
...
} }, ... }
Чтобы проанализировать этот файл JSON, я загружаю его, а затем перебираю ключи таким образом:
library("rjson")
fisherjson <- fromJSON(file = "acc.json")
tabledata= data.frame(pathwayname= character(), CE_Stage_Cluster=integer(), Pvalue = double(), Oddsratio = double(), Lower_CI=double(),Upper_CI=double(),stringsAsFactors=FALSE)
regions=(names(fisherjson))
stages=c("prenatal","early_childhood","adulthood")
#print(fisherjson$HIP$prenatal$Cluster10)
for (region in regions)
{
for (stage in stages)
{
i=1
for (clus in stage)
{
tabledata[i, 1]=clus$Cluster_num
tabledata[i, 2]=clus$x
mat <- matrix(c(clus$x,clus$m_x,clus$T_x,clus$n), nrow = 2, ncol=2)
fmat <- fisher.test(mat)
tabledata[i, 3]=fmat$p.value
tabledata[i, 4]=fmat$estimate
tabledata[i, 5]=fmat$conf.int[1]
tabledata[i, 6]=fmat$conf.int[2]
i=i+1
}
write.csv(tabledata, file=paste0("acc_",region,"_",stage,".csv"))
}
}
Проблема в том, что я не могу получить доступ к «региону» и «сцене» при создании имени файла. Более того, я не думаю, что данные уровня кластера также выбираются правильно. Я думаю, что они помещают фактические данные вместо региона и стадии. Есть ли лучший способ анализа файла JSON?