title: Creating and appending to data frame in R (Error: arguments imply differing number of rows: 0, 1)
body: <p>I am creating and appending to a data frame in R:</p>
  
  <pre><code>dat &lt;- data.frame(nodeA = character(), nodeB = character(), edge = numeric())
  for (i in 1:length(countTable)-1){
    for (j in i+1:length(countTable)){
      vecA = as.numeric(as.character(countTable[i,]))
      vecB = as.numeric(as.character(countTable[j,]))
      nodeA = row.names(countTable[i,])
      nodeB = row.names(countTable[j,])
      corCoeff = cor(vecA , vecB , method = "spearman")
      dat = rbind(dat, data.frame(nodeA = nodeA, nodeB = nodeB, edge = corCoeff))
    }
  }
  </code></pre>
  
  <p>Where a head and structure of the countTable are as follows:</p>
  
  <pre><code>&gt; head(countTable)
                  Norm One Two Three Four
  ENST00000000233   12  28  11     4    8
  ENST00000000412   23  44  37    23   45
  ENST00000000442    9  12  27    10   22
  ENST00000001008   18  98  61    21   31
  ENST00000001567   16   7   3     9   12
  ENST00000002125    2   4   4     5    1
  
  &gt; str(countTable)
  'data.frame':   17972 obs. of  5 variables:
   $ Norm : int  12 23 9 18 16 2 4 1 22 14 ...
   $ One  : int  28 44 12 98 7 4 24 14 39 39 ...
   $ Two  : int  11 37 27 61 3 4 12 3 69 30 ...
   $ Three: int  4 23 10 21 9 5 4 3 271 9 ...
   $ Four : int  8 45 22 31 12 1 13 7 123 60 ...
  </code></pre>
  
  <p>If I look at the code in the nested for loop individually, it works as I hope for. However, when I run the entire code, I get an error: </p>
  
  <pre><code>Error in data.frame(nodeA = nodeA, nodeB = nodeB, edge = corCoeff) : 
    arguments imply differing number of rows: 0, 1
  In addition: Warning message:
  NAs introduced by coercion 
  </code></pre>