Seite 1 von 1

die letzten 3 Zeichen in einer Spalte extrahieren und ab

Verfasst: Do Dez 06, 2018 5:59 pm
von blacklabel5
Hallo zusammen,

ich habe folgendes Problem: Ich habe einen dataframe mit 6 Spalten, 1000 Zeilen; in der letzten Spalte steht ein String, etwas so "Per Booking 5 EUR"
Der String ist so aufgebaut, dass die letzten 3 Buchstaben die Währung widerspiegeln.
Ich möchte diese 3 Buchstaben extrahieren und in eine neue Spalte (Spalte7) jeweils in die entsprechende Spalte einfügen.
library(stringr)
#irgendwie befüllen
Data[,8] <- 1
names(Data)[7] <- "Currency"
Data[,7]<- str_sub(Data[,7],-3,-1)
Da passiert allerdings nicht so viel :(
Kann mir jemand helfen?
Viele Grüße

Re: die letzten 3 Zeichen in einer Spalte extrahieren und ab

Verfasst: Do Dez 06, 2018 10:32 pm
von EDi
So hier?

Code: Alles auswählen

df <- data.frame(x =  "Per Booking 5 EUR", stringsAsFactors = FALSE)
df$Currency <- substr(df$x, nchar(df$x)-2, nchar(df$x))
df

Re: die letzten 3 Zeichen in einer Spalte extrahieren und ab

Verfasst: Fr Dez 07, 2018 8:33 am
von jogo
oder vielleicht sowas:

Code: Alles auswählen

x <-  c("Per Booking 5 EUR", "und noch was mit 17 USD")
y <- lapply(strsplit(x, " +"), rev)
sapply(y, '[', 1) ### Währung
sapply(y, '[', 2) ### Betrag
:?:

Gruß, Jörg

Re: die letzten 3 Zeichen in einer Spalte extrahieren und ab

Verfasst: Mo Dez 10, 2018 8:49 am
von blacklabel5
hey ihr beiden,
sorry für die späte antwort, hatte viel zu tun
ja, das ist perfekt! danke