   inspectFrameColumns = (tableLabel, frameKey, frame, frameColumns) -> ->
     attrs = [
       'label'
-      'missing_count'
-      'zero_count'
-      'positive_infinity_count'
-      'negative_infinity_count'
+      'missing_count|Missing'
+      'zero_count|Zeros'
+      'positive_infinity_count|+Inf'
+      'negative_infinity_count|-Inf'
       'min'
       'max'
       'mean'

  else
    undefined

combineTables = (tables) ->
  leader = head tables


      'cardinality'
    ]

    titleOf = (label) ->
      parts = (split label, '|')
      if title = parts[1] then title else parts[0]
        

    vectors = for name in attrs
      switch name
        when 'min'
          createVector name, TNumber, (head column.mins for column in frameColumns), format4f
        when 'max'
          createVector name, TNumber, (head column.maxs for column in frameColumns), format4f
        when 'cardinality'
          createVector name, TNumber, ((if domain = column.domain then domain.length else undefined) for column in frameColumns)
        when 'label', 'type'
          createFactor name, TString, (column[name] for column in frameColumns)
        when 'mean', 'sigma'
          createVector name, TNumber, (column[name] for column in frameColumns), format4f
        else
          createVector (titleOf name), TNumber, (column[name] for column in frameColumns)
         
    createDataframe tableLabel, vectors, (sequence frameColumns.length), null,
      description: "A list of #{tableLabel} in the H2O Frame."
      origin: "getFrameSummary #{stringify frameKey}"
      plot: "plot inspect '#{tableLabel}', getFrameSummary #{stringify frameKey}"

  inspectFrameData = (frameKey, frame) -> ->
    frameColumns = frame.columns

