/ / list () contient un élément mais il a une matrice de chaîne à l'intérieur, comment puis-je convertir cet élément en matrice? - json, r, liste, matrice, jsonlite

list () contient un élément mais contient une matrice de chaîne. Comment convertir cet élément en matrice? - json, r, liste, matrice, jsonlite

Après avoir converti les données JSON en une liste à l'aide dejsonlite, je me retrouve avec l'une des listes qui ressemble à la suivante Dans ce cas, le 10e élément contient une liste de 9 colonnes (toujours fixes) et 2 lignes (varie à chaque fois).

mat <- lset$data$comments$data[10]

mat
[[1]]
id can_remove             created_time           from.id
1 10152663742099258_10152663749369258       TRUE 2014-07-01T11:10:29+0000 10203711779968366
2 10152663742099258_10152663842204258       TRUE 2014-07-01T12:15:57+0000         706804257
3 10152663742099258_10152663929639258       TRUE 2014-07-01T13:25:28+0000 10152738599744416
4 10152663742099258_10152663976344258       TRUE 2014-07-01T13:59:33+0000         706804257
from.name like_count
1      Aileen Yeow          1
2    Tejas Damania          0
3 Sandeep Kulkarni          1
4    Tejas Damania          0
message
1                                                                                           Lame statement
2 Don"t forget, people like you only because they don"t know you! <ed><U+00A0><U+00BD><ed><U+00B8><U+00A1>
3      ...for a second I thought it"s Accenture Singapore office with some new theme similar to its brand!
4         This is shanghai and nothing to do with firm I work for <ed><U+00A0><U+00BD><ed><U+00B8><U+008E>
user_likes
1      FALSE
2      FALSE
3       TRUE
4      FALSE

Le tapis entier nous montre une liste de [1] Comme vous pouvez le voir, il contient une liste (dans une liste?). Lorsque j'imprime un tapis, il montre une structure comme ci-dessus.

typeof(mat)
[1] "list"

substring(mat,1,100)
[1] "list(id = c("10152663742099258_10152663749369258", "10152663742099258_10152663842204258", "101526637"

Je ne peux pas accéder à des éléments spécifiques (par exemple un message) à partir de cela. Je ne suis pas non plus en mesure de convertir cela en une matrice de chaînes pour pouvoir accéder aux éléments de manière structurée.

Réponses:

0 pour la réponse № 1

J'ai changé le paramètre d'appel fromJSON en définissant simplifyVector = FALSE (qui est défini par défaut sur true)

lset <- fromJSON(jsonobj, simplifyVector = F, flatten=TRUE, unicode = TRUE)

cela change la façon dont le tapis est formé, le code maintient l'imbrication jusqu'à chaque élément feuille. Je peux continuer à aller plus loin en utilisant $ et trouver la valeur de la chaîne uniquement à l'élément leaf! lset$data[[x]]$comments$data[[y]]$from$name

Cela fonctionne pour le moment! Merci pour votre aide