2016-04-23 9 views
0

Ich habe df dieseWie Teil der Zeichendaten auf neue Spalte extrahieren

AGE_TXT 
3 weeks 
1 year 
3 years 

i

verwenden
strsplit(df$AGE_TXT, " ") 

Daten zu spalten, aber ich habe ein Problem, wie neue Spalte mit Daten machen

tryied I grep("year", df$AGE_TXT), zu verwenden, aber es gibt mir nur True/false

ich wolud mag neue Spalte mit Daten

0 
1 
3 

0 für 3 Wochen und 1 für 1 Jahr, 3 für 3 Jahre

+0

, so dass Sie wollen drei verwenden machen Säulen? – Sotos

+0

Ich möchte neue Spalte nur repräsentative Anzahl Jahre (1 Monat = 0, 1 Jahr = 1), um Daten ~ Alter vergleichen zu können. – Garf

Antwort

1

Sie können ifelse

df$new <- ifelse(grepl('year', df$AGE_TXT), gsub('\\D', '', df$AGE_TXT), 0) 
df 
# AGE_TXT new 
#1 3 weeks 0 
#2 1 year 1 
#3 3 years 3 
+0

Ich überarbeitete mein Problem basierend auf Ihrem Kommentar – Garf

+0

@Garf bearbeitet ... – Sotos

+1

Vielen Dank. Es funktionierte! – Garf