以前の投稿 ( 1 つのファイルに含まれる複数の JSON 構造を読み取るにはどうすればよいですか? ) で、珍しいデータ構造 (または少なくとも R では珍しい) について質問しました。
この構造のtxtファイルがあります:
identifier ### part A ### part B
私の実際のデータの1行目を単純化すると、これになります
1 ### [{"X": "1", "Y": "2", "Z": "3"}, {"X": "4", "Y": "5", "Z": "6"}] ### [{"X": "7", "Y": "8", "Z": "9"}, {"X": "10", "Y": "11", "Z": "12"}, {"X": "13", "Y": "14", "Z": "15"}]
この構造は公開データに由来します。
私はこれを使用しました
setwd("/myfolder")
library(stringi)
library(purrr)
library(jsonlite)
raw <- readLines("myfile.txt")
raw <- gsub("^.\\###", " ", raw)
PartB <- gsub("^.*\\]\\###\\[", "", raw)
PartB <- paste0("[", PartB)
PartB <- stri_replace_first_regex(PartB, "\\###", "") %>%
map_df(fromJSON)
save(fundamento, file = "PartB.RData")
PartA <- gsub(pattern = "(.*\\###)(.*)(\\###.*)", "\\2", raw)
PartA <- stri_replace_first_regex(concepto, "\\###", "") %>%
map_df(fromJSON)
save(PartA, file = "PartA.RData")
そして、それは2つのデータフレームを作成します
PartA
X Y Z
1 2 3
4 5 6
PartB
X Y Z
7 8 9
10 11 12
13 14 15
私はこのようなものを取得しようとしました
PartA
identifier part X Y Z
1 A 1 2 3
1 A 4 5 6
PartB
identifier part X Y Z
1 B 7 8 9
1 B 10 11 12
1 B 13 14 15
どんなアイデアでも役に立ちます。よろしくお願いします。