フォーラムを検索しましたが、同様の質問が見つかりませんでしたので、見落としがありましたら申し訳ありません。
簡単に言えば、与えられたJSON
ファイルを作成したいのです。したがって、これを行う簡単な方法は、パッケージのfromJSON
関数を使用してファイルを解析しjsonlite
、R オブジェクトがどのように構造化されているかを確認してからJSON
、最初に R オブジェクトを作成し、関数を使用してファイルを作成することだと思いましたtoJSON
。
JSON
私が与えられたファイルは次のとおりです。
[[{"name":"Wine"},{"data":[{"rating":"23.45","month":8,"year":2012,"day":8},{"rating":"23.66","month":8,"year":2012,"day":9},{"rating":"24.75","month":8,"year":2013,"day":9},{"rating":"24.97","month":8,"year":2013,"day":12}]}]]
上記のJSON
ファイルをfromJSON
関数で解析すると、次のオブジェクトが得られます。
str(object)
List of 1
$ :'data.frame': 2 obs. of 2 variables:
..$ name: chr [1:2] "Wine" NA
..$ data:List of 2
.. ..$ : NULL
.. ..$ :'data.frame': 248 obs. of 4 variables:
.. .. ..$ rating: chr [1:248] "23.45" "23.66" "23.59" "23.48" ...
.. .. ..$ month : int [1:248] 8 8 8 8 8 8 8 8 8 8 ...
.. .. ..$ year : int [1:248] 2012 2012 2012 2012 2012 2012 2012 2012 ...
.. .. ..$ day : int [1:248] 8 9 10 13 14 15 16 17 20 21 ...
上記のオブジェクトを作成します。値はランダムです
name = c("Wine", NA)
data = list(NULL, data.frame(rating = as.character(c(1:248)), month = as.integer(rep(12, 248)), year = as.integer(rep(1940, 248)), day = as.integer(rep(31, 248)), stringsAsFactors = FALSE))
result = data.frame(name, data)
最後の行で次のエラーが表示されます。
Error in data.frame(NULL, list(rating = c("1", "2", "3", "4", "5", "6", : arguments imply differing number of rows: 0, 248
誰にもアイデアがありますか?