2014-07-17 3 views
0

Je souhaite exporter une valeur JSON dans une valeur de ligne vers une nouvelle colonne dans mon fichier data.set.Comment exporter une ligne JSON vers les colonnes data.frame

Mon Data.Set actuelle:

a b c 
------------------- 
1 20 10 {d:10, e:6} 
2 25 15 {d:30, f:7} 
3 40 20 {d:5} 

to 

    a b c d e f 
------------------- 
1 20 10 0 10 6 0 
2 25 15 0 30 0 7 
3 40 20 0 5 0 0 
+0

Impossible d'utiliser 'rjson' pour cela? –

Répondre

0

Voici une façon de le faire avec rjson et plyr:

d <- data.frame(a=c(20,25,40), 
       b=c(10,15,20), 
       c=c('{"d":10, "e":6}','{"d":30, "f":7}','{"d":5}'), stringsAsFactors=FALSE) 

library(rjson) 
library(plyr) 

tmp <- lapply(d$c, fromJSON) 
tmp <- ldply(lapply(tmp, as.data.frame), I) 
tmp[is.na(tmp)] <- 0 
cbind(d, tmp) 

Ce qui donne:

a b    c d e f 
1 20 10 {"d":10, "e":6} 10 6 0 
2 25 15 {"d":30, "f":7} 30 0 7 
3 40 20   {"d":5} 5 0 0 

Notez que vous devez utilisez ici plyr et non dplyr, comme ldply fonction n'est pas disponible dans ce dernier.

Questions connexes