J'ai une liste R list1
, où un champ a été fait pour être deux chaînes concaténées avec ensemble.Comment utiliser strsplit() pour accéder aux éléments d'une liste R?
Quand nous le champ d'accès field3
pour list1
, il ressemble à ceci
list1$field2
[1] "stringA, stringB"
[2] "stringA, stringB"
[3] "stringA, stringB"
[4] "stringA, stringB"
[5] "stringA, stringB"
[6] "stringA, stringB"
....
Je voudrais seulement accéder aux entrées « chaineB » et ignorer « stringUn ».
Si j'utilise quelque chose comme strsplit()
, je reçois le texte suivant:
strsplit(list1$field2, ",")
[[1]]
[1] "stringA"
[2] "stringB"
[[2]]
[1] "stringA"
[2] "stringB"
....
Ceci est une liste dans laquelle chaque membre a deux éléments. Comment est-ce que j'accède seulement au deuxième élément? Existe-t-il un moyen de rendre cela plus compact sur le plan syntaxique?
'lapply (StrSplit (list1 field2 $, ""),' [ ', 2)' va obtenir le deuxième élément de chaque composant de la seconde liste vous affichez (c'est-à-dire la liste retournée par 'strsplit()'). –
@GavinSimpson - 'lapply (strsplit (list1 $ field2,", "), \' [\ ', 2)' Je pense que vous voulez dire - doit échapper aux backticks dans les commentaires. – thelatemail
Vous pouvez utiliser '" ["' avec lapply'. Ne pas avoir besoin de backticks. –