2017-10-26 18 views
-1

私はので、私は列を変換したい今、私は光沢のあるアプリケーションのドロップダウンリストを移入する場合は、このRのリストにJSON列を変換する方法

genres 
 
[{"id": 28, "name": "Action"}, {"id": 12, "name": "Adventure"}, {"id": 14, "name": "Fantasy"}, {"id": 878, "name": "Science Fiction"}] 
 
[{"id": 12, "name": "Adventure"}, {"id": 14, "name": "Fantasy"}, {"id": 28, "name": "Action"}] 
 
[{"id": 28, "name": "Action"}, {"id": 12, "name": "Adventure"}, {"id": 80, "name": "Crime"}] 
 
[{"id": 28, "name": "Action"}, {"id": 80, "name": "Crime"}, {"id": 18, "name": "Drama"}, {"id": 53, "name": "Thriller"}] 
 
[{"id": 28, "name": "Action"}, {"id": 12, "name": "Adventure"}, {"id": 878, "name": "Science Fiction"}] 
 
[{"id": 14, "name": "Fantasy"}, {"id": 28, "name": "Action"}, {"id": 12, "name": "Adventure"}] 
 
[{"id": 16, "name": "Animation"}, {"id": 10751, "name": "Family"}]

のように設定されたデータを持っていますJSONをデータテーブルに追加するには、関数を使用しますが、目的の結果が得られない場合は、誰かが私を助けてください。

コード:

lapply(dt, fromJSON(dt$genres)) 
+1

? – xiaodai

+0

あなたのコードを共有していただけますか? –

+0

fromJSON(dt $ genres [1])は1つの列に対して結果を返しますが、すべての列に対して同じ結果を得たい場合は、目的の結果が得られません。 lapply(dt、fromJSON(dt $ genres)) – Vineet

答えて

0

私はRに新しいですので、それがない最善の解決策が、ここで私の場合で働いている私の所見であってもよいし、もしあればフィードバック

genre <- raw$genres 
genreList <- lapply(genre,function(x) fromJSON(x)) 
genreList <- genreList[sapply(genreList, function(x) as.numeric(dim(x)[1])) > 0] 
genreList <- genreList[!sapply(genreList, is.null)] 
finalGenre <- unique(Reduce(function(...) merge(..., all=T), genreList)) 
私に知らせてください

などに見えるfunction_適用_your何を出力

 id   name 
1  28   Action 
2  53  Thriller 
3 10769   Foreign 
4  12  Adventure 
5 10751   Family 
6 878 Science Fiction 
7  27   Horror 
8  16  Animation 
9  80   Crime 
10 35   Comedy 
11 10770  TV Movie 
12 18   Drama 
13 99  Documentary 
14 10752    War 
15 10402   Music 
16 10749   Romance 
17 14   Fantasy 
18 37   Western 
19 36   History 
20 9648   Mystery 
関連する問題