title: Find zero crossing in R
body: <p>If I have the following <strong>data</strong>:</p>
  
  <pre><code>df &lt;- structure(list(x = c(1.63145539094563, 1.67548187017034, 1.71950834939504, 
  1.76353482861975, 1.80756130784445, 1.85158778706915, 1.89561426629386, 
  1.93964074551856, 1.98366722474327, 2.02769370396797, 2.07172018319267, 
  2.11574666241738, 2.15977314164208, 2.20379962086679, 2.24782610009149, 
  2.2918525793162, 2.3358790585409, 2.3799055377656, 2.42393201699031, 
  2.46795849621501, 2.51198497543972, 2.55601145466442, 2.60003793388912, 
  2.64406441311383, 2.68809089233853, 2.73211737156324, 2.77614385078794, 
  2.82017033001265, 2.86419680923735, 2.90822328846205, 2.95224976768676, 
  2.99627624691146, 3.04030272613617, 3.08432920536087, 3.12835568458557, 
  3.17238216381028, 3.21640864303498, 3.26043512225969, 3.30446160148439, 
  3.3484880807091, 3.3925145599338, 3.4365410391585, 3.48056751838321, 
  3.52459399760791, 3.56862047683262, 3.61264695605732, 3.65667343528202, 
  3.70069991450673, 3.74472639373143, 3.78875287295614), y = c(24.144973858154, 
  18.6408277478876, 21.9174270206615, 22.8017876727379, 20.9766270378248, 
  18.604384256745, 18.4805250429826, 15.8436744335752, 13.6357170277296, 
  11.6228806771368, 9.4065868126964, 6.81644596802601, 4.41187500831424, 
  4.31911614349431, 0.678259284890563, -1.18632719250877, -2.32986407762089, 
  -3.84480566043122, -5.24738510499144, -5.20160089844013, -5.42094587600499, 
  -5.39886757202858, -5.26753920575326, -4.68727963638973, -2.73267203102102, 
  0.296905237887623, 2.45725152489283, 5.12102449689086, 7.13986218237411, 
  10.2044876281093, 14.4358946463429, 19.0643081865458, 22.8920445618834, 
  26.7229418763085, 31.3776791707576, 36.19058349817, 41.2843224331918, 
  46.3396522631345, 51.4321502764393, 56.4080998038294, 61.5215778808583, 
  66.6845421308734, 71.3912749310486, 76.0856977880158, 80.7039319129457, 
  84.4095953723555, 88.0163019647757, 89.918078622734, 91.6341473685881, 
  94.0404562451352)), class = c("tbl_df", "tbl", "data.frame"), .Names = c("x", 
  "y"), row.names = c(NA, -50L))
  </code></pre>
  
  <p><strong>Plot:</strong></p>
  
  <p><a href="https://i.stack.imgur.com/3HCCc.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/3HCCc.png" alt="enter image description here"></a></p>
  
  <p>How do I find the exact <code>x</code> value when <code>y == 0</code>? I tried doing interpolation, but it does not necessarily give me a <code>y</code> value equals to zero. Does anyone know of a function to find zero crossings?</p>