2017-02-08 15 views
1

JSON形式のイベントデータ(ユーザーとアプリケーションとのやりとりのデータをクリックする)を含むファイルがあります。データフレームに変換する必要があります。ここでJSONファイルをRのdata.frameに変換

Error in data.frame(locale = c("US", "en_US", "en"), platform = c("5.1.1", : 
    arguments imply differing number of rows: 3, 2, 1 

私は、データフレームの中にリストのリストを変換しようとしていたとき、私はエラーを取得し、この結果を生成

require(RJSONIO) 
result <- fromJSON('events_data.json',nullValue = NA) 
result <- do.call(rbind,lapply(result,data.frame,stringsAsFactors=FALSE)) 

summary(result) 
        Length Class Mode  
_id    1  -none- character 
session   2  -none- list  
metrics   0  -none- list  
arrival_timestamp 1  -none- character 
event_type  1  -none- character 
event_timestamp 1  -none- character 
event_version  1  -none- character 
application  7  -none- list  
client   2  -none- character 
device   4  -none- list  
attributes  3  -none- character 

データである:私はこれを使用しましたファイル、click here(参照用)誰かが私を助けることができますか? JSONファイルには

{"_id":{"$oid":"57a30ce268fd0809ec4d194f"},"session":{"start_timestamp":{"$numberLong":"1470183490481"},"session_id":"def5faa9-20160803-001810481"},"metrics":{},"arrival_timestamp":{"$numberLong":"1470183523054"},"event_type":"OfferViewed","event_timestamp":{"$numberLong":"1470183505399"},"event_version":"3.0","application":{"package_name":"com.think.vito","title":"Vito","version_code":"5","app_id":"7ffa58dab3c646cea642e961ff8a8070","cognito_identity_pool_id":"us-east-1:4d9cf803-0487-44ec-be27-1e160d15df74","version_name":"2.0.0.0","sdk":{"version":"2.2.2","name":"aws-sdk-android"}},"client":{"cognito_id":"us-east-1:2e26918b-f7b1-471e-9df4-b931509f7d37","client_id":"ee0b61b0-85cf-4b2f-960e-e2aedef5faa9"},"device":{"locale":{"country":"US","code":"en_US","language":"en"},"platform":{"version":"5.1.1","name":"ANDROID"},"make":"YU","model":"AO5510"},"attributes":{"Category":"120000","CustomerID":"4078","OfferID":"45436"}} 
{"_id":{"$oid":"57a30ce268fd0809ec4d1950"},"session":{"start_timestamp":{"$numberLong":"1470183490481"},"session_id":"def5faa9-20160803-001810481"},"metrics":{},"arrival_timestamp":{"$numberLong":"1470183523054"},"event_type":"ContextMenuItemSelected","event_timestamp":{"$numberLong":"1470183500206"},"event_version":"3.0","application":{"package_name":"com.think.vito","title":"Vito","version_code":"5","app_id":"7ffa58dab3c646cea642e961ff8a8070","cognito_identity_pool_id":"us-east-1:4d9cf803-0487-44ec-be27-1e160d15df74","version_name":"2.0.0.0","sdk":{"version":"2.2.2","name":"aws-sdk-android"}},"client":{"cognito_id":"us-east-1:2e26918b-f7b1-471e-9df4-b931509f7d37","client_id":"ee0b61b0-85cf-4b2f-960e-e2aedef5faa9"},"device":{"locale":{"country":"US","code":"en_US","language":"en"},"platform":{"version":"5.1.1","name":"ANDROID"},"make":"YU","model":"AO5510"},"attributes":{"MenuItem":"OfferList","CustomerID":"4078"}} 
+0

* * *エラー?どのようにこれを変換しようとしましたか? –

+3

PS - 人々が130MBのファイルをダウンロードすることは期待できません。質問自体に内容の小さな例を投稿してください。 –

+0

おそらく参考になります... [最小](http://stackoverflow.com/help/mcve)と[reproducible](http://stackoverflow.com/a/5963610/3358272)の質問ですようこそ!質問は、あなたがこれらの2つの短いガイドを読んで耳を傾けたとき、答えられる確率がはるかに高くなります(さらに速くなります)。さもなければあなたの質問は無視される、閉鎖される、または間違って答えられることになりますが、どれもあなたを助けません。 – r2evans

答えて

0

私は答えを得ましたが、実際には私はjsonファイル全体を読んでいませんでした。

library(rjson) 
library(plyr) 

json_file <- "events_data.json" 

con <- file(json_file, "r") 
input <- readLines(con,-1L) 
close(con) 

json_file2 <- ldply(lapply(input, function(x) t(unlist(fromJSON(x))))) 
0

が含まれています。データをダウンロードして読み込めました。 ndjsonライブラリを使用してください。これをチェックしてください。幸運

df<-ndjson::stream_in('events_data.json')

...それはあなたが探しているもの、あなたを取得する場合、私に教えてください。 乾杯、 NF

+0

データフレームで変換中にエラーが発生しました – aks2200

+0

'df < - as.data.frame(df)'を試しましたか? – nate

関連する問題