title: R: disjoint complex number when setting function body
body: <p>While constructing a function I discovered, that complex numbers are disjoint when setting the function body:</p>
  
  <pre><code>funCplx &lt;- function () {}
  formals(funCplx) &lt;- alist(t=)
  body(funCplx) &lt;- as.call(c(as.name("{"), parse(text = "t*(2+3i)")))
  funCplx
  funCplx(3)
  </code></pre>
  
  <p>As you can see, the function returns the correct value, but contains <code>t * (2+(0+3i))</code>. It is disjoint within the <code>c()</code>. The expression <code>c(parse(text = "t*(2+3i)"))</code> returns the disjoint term, whereas <code>parse(text = "t*(2+3i)")</code> returns <code>t*(2+3i)</code>.
  Why is the expression disjoint in the body?</p>
  
  <p>Edit: I add an argument to the function. I removed it for sparseness, but it gets necessary to get the correct solution.</p>
  
  <p>Edit 2: Most answers assume I know the complex number (here <code>2+3i</code>). I took this example, because it is minimal.
  In my real case, I take many complex numbers from variable matrices and put them together in one function with additional variables (here <code>t</code>) and functions like <code>exp</code>. In my first step I <code>paste</code> different parts and <code>parse</code> this text into the function body.</p>
  
  <p><strong>To point out my question:</strong> Is it bad that the complex number is disjoint in the <code>parse</code> function in case of calculation steps? Reworded: Does R need more calculation steps to calculate <code>5*(2+(0+3i))</code> than <code>5*(2+3i)</code>?</p>