Eigene Funktion in Tabelle nutzen

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
Kramer
Beiträge: 16
Registriert: Fr Nov 02, 2018 12:29 pm

Eigene Funktion in Tabelle nutzen

Beitrag von Kramer »

Moin,

Ich habe eine Tabelle mit URLs (siehe Code). An diese Tabelle möchte ich eine weiter Spalte setzen, die die Funktion angewendet auf die URL (zweite Spalte von Base) ausgibt. Der letzte Befehl gibt folgene Fehlermeldung aus:

Error in doc_parse_file(con, encoding = encoding, as_html = as_html, options = options) :
Expecting a single string value: [type=character; extent=4].


Die von mir definierte Funktion macht genau das richtige, aber ich schaffe es nicht das ganze in meine Tabelle einzubinden. Hat jemand eine Idee wie man das macht?

Code: Alles auswählen


Base<-structure(list(Corporatebonds.ISIN = structure(1:4, .Label = c("AT0000A0U9J2", 
                                                               "AT0000A0V7D8","AT0000A0VL70", "AT0000A0VLS5"), class = "factor"), Link = c("https://www.boerse-frankfurt.de/anleihen/AT0000A0U9J2", 
                                                             "https://www.boerse-frankfurt.de/anleihen/AT0000A0V7D8", "https://www.boerse-frankfurt.de/anleihen/AT0000A0VL70", 
                                                             "https://www.boerse-frankfurt.de/anleihen/AT0000A0VLS5")), row.names = 8:11, class = "data.frame")

Get_Link_Name <- function (Link) {
  a<-read_html(Link)
  xml_attrs(xml_child(xml_child(xml_child(xml_child(xml_child(xml_child(xml_child(xml_child(xml_child(xml_child(a, 2), 4), 1), 2), 1), 1), 1), 9), 3), 1))[["href"]]
}

Base$Insert_part<-Get_Link_Name(Base$Link)

Beste Grüße
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Eigene Funktion in Tabelle nutzen

Beitrag von EDi »

Ich vermute, dass deine Funktion nicht vektorisiert ist (kann nur 1 Link auf einmal bearbeiten).

Was ist mit

Code: Alles auswählen

sapply(Base$Link, Get_Link_Name)
? Also die Funktion auf jedes Element einzeln anwenden...
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Kramer
Beiträge: 16
Registriert: Fr Nov 02, 2018 12:29 pm

Re: Eigene Funktion in Tabelle nutzen

Beitrag von Kramer »

Funktioniert, habe das ganze dann hinterher wieder ins gewünschte Format gebracht. Danke!
Antworten