In meinem Datenrahmen habe ich eine Zeichenspalte. Ich möchte eine neue Spalte aus der vorhandenen Zeichenspalte mit einer Funktion erstellen, die ich selbst geschrieben habe.Neue Spalte mit Anwendungsfamilie erstellen
Meine Funktion
lat_finder <- function(coord){
return(as.numeric(substr(strsplit(coord,",")[[1]][1],2,10)))}
Test-Datenrahmen
test <- data.frame('loc' = c("(37.7862913318072, -122.401375181471)","(37.7646938184545, -122.449439257453)","(37.7860078381928, -122.430650176965)"))
ich dieses bin versucht
test['Lat'] <- lapply(test['loc'],lat_finder)
Das Ergebnis ist eine neue Spalte, aber nur mit dem Ergebnis der Funktion von die erste Zeile, dh der erste Breitengrad, sollte 37.786 sein ... und dies ist der Wert für jede Zeile in der neuen Spalte. Ich weiß, dass eine For-Schleife funktionieren würde, da ich diese Operation schon einmal gemacht habe, aber es dauert eine ganze Weile, also würde ich das gerne beschleunigen. Ich bin mir sicher, es ist klar, dass ich hier etwas unter der Haube verpasse, also würde ich neben einer Fehlerbehebung auch eine Erklärung dafür, was mein Code macht, schätzen.
Hinweis: Im ursprünglichen Beitrag habe ich den gesamten Datenrahmen, mit dem ich arbeitete, falsch referenziert. Es hätte laufen sollen (Test ['loc'] ....) und wurde korrigiert. – maxo