La mia domanda riguarda come creare una nuova variabile su un frame di dati in R in base al risultato di un'espressione regolare. Ecco un esempio minima dei dati:crea una nuova variabile basata su un'espressione regolare
df <- data.frame(model=c("Legacy 2.0 BG5 B4 AUTO","Legacy 2.0 BH5 AT","Legacy 2.0i CVT Non Leather","Legacy 2.0i CVT","Legacy 2.0 BL5 AUTO B4",
"Legacy 2.0 BP5 AUTO","Legacy 2.0 BM5 AUTO CVT"), CRSP=c(3450000,3365000,4950000,5250000,4787526,3550000,5235000))
df
model CRSP
1 Legacy 2.0 BG5 B4 AUTO 3450000
2 Legacy 2.0 BH5 AT 3365000
3 Legacy 2.0i CVT Non Leather 4950000
4 Legacy 2.0i CVT 5250000
5 Legacy 2.0 BL5 AUTO B4 4787526
6 Legacy 2.0 BP5 AUTO 3550000
7 Legacy 2.0 BM5 AUTO CVT 5235000
desidero creare un nuovo 'chassis' variabile il cui valore è il terzo elemento del 'modello' corrispondente stringa variabile, finendo così con:
df
model CRSP chassis
1 Legacy 2.0 BG5 B4 AUTO 3450000 BG5
2 Legacy 2.0 BH5 AT 3365000 BH5
3 Legacy 2.0i CVT Non Leather 4950000 CVT
4 Legacy 2.0i CVT 5250000 CVT
5 Legacy 2.0 BL5 AUTO B4 4787526 BL5
6 Legacy 2.0 BP5 AUTO 3550000 BP5
7 Legacy 2.0 BM5 AUTO CVT 5235000 BM5
Ho bisogno di trovare un modo per estrarre gli elementi appropriati in ogni riga e inserirli nella nuova variabile. Qualsiasi assistenza sarebbe molto apprezzata.
Ho altri passaggi di manipolazione dei dati precedenti e successivi sullo stesso frame di dati all'interno di un tubo ** dplyr ** '%>%' e quindi questa soluzione è più comoda in quanto posso inserirla direttamente nel ciclo. Grazie a @TylerRinker – amo