 <p>Here's one way using regular expressions. First, make sure the price column is a character vector and not a factor</p> <pre><code>DB1$price&lt;-as.character(DB1$price) </code></pre> <p>Then define your desired replacements </p> <pre><code>replacewith&lt;-c("Jan"="1.", "Feb"="2.", "Mrz"="3.", "Apr"="4.", "Mai"="5.", "Jun"="6.", "Jul"="7.", "Aug"="8.", "Sep"="9.", "Okt"="10.", "Nov"="11.", "Dez"="12.") </code></pre> <p>Now turn those into a regular erxpression and match against your price column</p> <pre><code>re &lt;- paste0("^(",paste(names(replacewith),collapse="|"), ") ") m &lt;- regexpr(re,DB1$price, perl=T) mm &lt;- regmatches(DB1$price, m) </code></pre> <p>Now we do a look up for the replacement</p> <pre><code>regmatches(DB1$price, m) &lt;- replacewith[substr(mm, 1, nchar(mm)-1)] DB1$price # [1] "12.90" "8.90" "3.40" "79.95" "12.45" "7.99" "6.90" "129.90" "7.90" "49.95" </code></pre>