title: python's scipy.stats.ranksums vs. R's wilcox.test
body: <p>Both python's scipy.stats.ranksums and R's wilcox.test are supposed to calculate two-sided p-values for a Wilcoxon rank sum test. But when I run both functions on the same data, I get p-values that differ by orders of magnitude:</p>
  
  <p>R:</p>
  
  <pre><code>&gt; x=c(57.07168,46.95301,31.86423,38.27486,77.89309,76.78879,33.29809,58.61569,18.26473,62.92256,50.46951,19.14473,22.58552,24.14309)
  &gt; y=c(8.319966,2.569211,1.306941,8.450002,1.624244,1.887139,1.376355,2.521150,5.940253,1.458392,3.257468,1.574528,2.338976)
  &gt; print(wilcox.test(x, y))
  
          Wilcoxon rank sum test
  
  data:  x and y 
  W = 182, p-value = 9.971e-08
  alternative hypothesis: true location shift is not equal to 0 
  </code></pre>
  
  <p>Python:</p>
  
  <pre><code>&gt;&gt;&gt; x=[57.07168,46.95301,31.86423,38.27486,77.89309,76.78879,33.29809,58.61569,18.26473,62.92256,50.46951,19.14473,22.58552,24.14309]
  &gt;&gt;&gt; y=[8.319966,2.569211,1.306941,8.450002,1.624244,1.887139,1.376355,2.521150,5.940253,1.458392,3.257468,1.574528,2.338976]
  &gt;&gt;&gt; scipy.stats.ranksums(x, y)
  (4.415880433163923, 1.0059968254463979e-05)
  </code></pre>
  
  <p>So R gives me 1e-7 while Python gives me 1e-5.</p>
  
  <p>Where does this difference come from and which one is the 'correct' p-value?</p>