die letzten 3 Zeichen in einer Spalte extrahieren und ab

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

Moderatoren: EDi, jogo

Antworten
blacklabel5

die letzten 3 Zeichen in einer Spalte extrahieren und ab

Beitrag 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
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

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

Beitrag 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
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.
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

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

Beitrag 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
blacklabel5

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

Beitrag von blacklabel5 »

hey ihr beiden,
sorry für die späte antwort, hatte viel zu tun
ja, das ist perfekt! danke
Antworten