dies hier mein erster Beitrag ist, so bitte vergib irgendwelche Fehler, die Posting-Richtlinien wrtlapply auf Liste von XML-Objekten
Ich versuche, in XML-Daten aus pubmed, zu lesen, zu extrahieren Daten Autor Zugehörigkeiten
jeder Eintrag enthält einen Satz von Knoten, so wie:
<AuthorList>
<Author>
<LastName>Serra-Blasco</LastName>
<ForeName>Maria</ForeName>
<Initials>M</Initials>
<AffiliationInfo>
<Affiliation>Department of Psychiatry, Hospital de la Santa Creu i Sant Pau, Biomedical Research Institute Sant Pau (IIB Sant Pau), Universitat Autònoma de Barcelona (UAB), Centro de Investigación Biomédica en Red de Salud Mental (CIBERSAM), Barcelona, Catalonia, Spain.</Affiliation>
</AffiliationInfo>
</Author>
...
Ich mag es mit einem Datenrahmen, um am Ende des jeden Namen und die Autoren Zugehörigkeit in einer Zeile enthält.
Ich habe versucht, dies mit xpathSApply zu tun, um Knoten zu lesen, die "// Author" lesen, und endete mit einer Liste von xml-Knoten.
Weitere Analyse erweist sich als ein Problem: Ich habe Code geschrieben, der auf ein einzelnes Element dieser Liste funktioniert;
für zB wenn die Liste authorlist
ist, kann ich eine entsprechende Anordnung für authorlist[[1]]
extrahieren Sie diese Funktion verwenden (das verwendet xpathSApply innerhalb des Elements)
Aber wenn ich versuche lapply um diese Funktion zu wickeln, es gibt mir einen Fehler, der besagt, dass es xpathApply nicht in einer Liste ausführen kann. Der genaue Fehler Aufruf ist:
Fehler in UseMethod („xpathApply“): keine anwendbare Methode für ‚xpathApply‘ auf ein Objekt der Klasse „Liste“ angewendet
Ich vermute, dass lapply die Anrufe listet die Teilmenge mit dem Äquivalent von [i] auf, wohingegen ich [[i]] brauche. Gibt es einen Weg dahin? Oder muss ich mit einigen anderen Regeln neu schreiben?
Ich bin offen für das Neuschreiben (das ist nur ein bisschen herumalbern ich mache), aber dieses Problem schien interessant, hoffe, Sie können helfen!
Vielen Dank! Ich werde dieses Paket erkunden, es sieht so aus, als würde es meine unmittelbaren Probleme lösen ... Aber gibt es auch einen Weg um das allgemeinere Problem, mit dem ich konfrontiert zu sein scheint? Ich bin mir nicht sicher, ob es etwas ist, das passieren würde, wenn man nicht mit dieser speziellen Struktur arbeitet ... –
xml_nodes gibt einen Vektor mit allen Knoten mit diesem Tag zurück. Sie sollten lapply nicht verwenden müssen, wenn die Struktur konsistent ist. Beispiele finden Sie in der Dokumentation zu den Paketen rvest und xml2. – Dave2e