title: How to convert a factor to integer\numeric without loss of information?
body: <p>When I convert a factor to a numeric or integer, I get the underlying level codes, not the values as numbers.</p>
  
  <pre><code>f &lt;- factor(sample(runif(5), 20, replace = TRUE))
  ##  [1] 0.0248644019011408 0.0248644019011408 0.179684827337041 
  ##  [4] 0.0284090070053935 0.363644931698218  0.363644931698218 
  ##  [7] 0.179684827337041  0.249704354675487  0.249704354675487 
  ## [10] 0.0248644019011408 0.249704354675487  0.0284090070053935
  ## [13] 0.179684827337041  0.0248644019011408 0.179684827337041 
  ## [16] 0.363644931698218  0.249704354675487  0.363644931698218 
  ## [19] 0.179684827337041  0.0284090070053935
  ## 5 Levels: 0.0248644019011408 0.0284090070053935 ... 0.363644931698218
  
  as.numeric(f)
  ##  [1] 1 1 3 2 5 5 3 4 4 1 4 2 3 1 3 5 4 5 3 2
  
  as.integer(f)
  ##  [1] 1 1 3 2 5 5 3 4 4 1 4 2 3 1 3 5 4 5 3 2
  </code></pre>
  
  <p>I have to resort to <code>paste</code> to get the real values:</p>
  
  <pre><code>as.numeric(paste(f))
  ##  [1] 0.02486440 0.02486440 0.17968483 0.02840901 0.36364493 0.36364493
  ##  [7] 0.17968483 0.24970435 0.24970435 0.02486440 0.24970435 0.02840901
  ## [13] 0.17968483 0.02486440 0.17968483 0.36364493 0.24970435 0.36364493
  ## [19] 0.17968483 0.02840901
  </code></pre>
  
  <p>Is there a better way to convert a factor to numeric?</p>