water.fvec
Class Frame

java.lang.Object
  extended by water.Iced
      extended by water.fvec.Frame
All Implemented Interfaces:
java.lang.Cloneable, Freezable

public class Frame
extends Iced

A collection of named Vecs. Essentially an R-like data-frame. Multiple Frames can reference the same Vecs. A Frame is a lightweight object, it is meant to be cheaply created and discarded for data munging purposes. E.g. to exclude a Vec from a computation on a Frame, create a new Frame that references all the Vecs but this one.


Field Summary
 java.lang.String[] _names
           
 
Constructor Summary
Frame(Frame fr)
           
Frame(java.lang.String[] names, Vec[] vecs)
           
Frame(Vec... vecs)
           
 
Method Summary
 void add(java.lang.String name, Vec vec)
          Appends a named column, keeping the last Vec as the response
 Vec anyVec()
          Returns the first readable vector.
 long byteSize()
           
 void checkCompatible()
          Check that the vectors are all compatible.
 void closeAppendables()
           
 Futures closeAppendables(Futures fs)
           
 java.lang.String[][] domains()
          All the domains for enum columns; null for non-enum columns.
 Frame extractFrame(int startIdx, int endIdx)
           
 int find(java.lang.String name)
          Finds the first column with a matching name.
 int find(Vec vec)
           
 java.lang.String[] names()
           
 int numCols()
           
 long numRows()
           
 Vec[] reloadVecs()
           
 void remove()
           
 void remove(Futures fs)
          Actually remove/delete all Vecs from memory, not just from the Frame.
 Vec remove(int idx)
          Removes a numbered column.
 Vec[] remove(int[] idxs)
          Removes a numbered column.
 Vec[] remove(int startIdx, int endIdx)
          Remove given interval of columns from frame.
 Vec remove(java.lang.String name)
          Removes the first column with a matching name.
 Frame subframe(int startIdx, int endIdx)
          Create a subframe from given interval of columns.
 java.io.InputStream toCSV(boolean headers)
           
 java.lang.String toString()
           
 java.lang.String toString(long idx)
           
 java.lang.StringBuilder toString(java.lang.StringBuilder sb, java.lang.String[] fs, long idx)
           
 java.lang.String toStringAll()
           
 java.lang.String[] toStringHdr(java.lang.StringBuilder sb)
           
 Vec[] vecs()
           
 
Methods inherited from class water.Iced
clone, frozenType, init, newInstance, read, toDocField, write, writeJSON, writeJSONFields
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_names

public java.lang.String[] _names
Constructor Detail

Frame

public Frame(Frame fr)

Frame

public Frame(Vec... vecs)

Frame

public Frame(java.lang.String[] names,
             Vec[] vecs)
Method Detail

vecs

public final Vec[] vecs()

reloadVecs

public final Vec[] reloadVecs()

find

public int find(java.lang.String name)
Finds the first column with a matching name.


find

public int find(Vec vec)

add

public void add(java.lang.String name,
                Vec vec)
Appends a named column, keeping the last Vec as the response


remove

public Vec remove(java.lang.String name)
Removes the first column with a matching name.


remove

public Vec[] remove(int[] idxs)
Removes a numbered column.


remove

public Vec remove(int idx)
Removes a numbered column.


remove

public Vec[] remove(int startIdx,
                    int endIdx)
Remove given interval of columns from frame. Motivated by R intervals.

Parameters:
startIdx - - start index of column (inclusive)
endIdx - - end index of column (exclusive)
Returns:
an array of remove columns

extractFrame

public Frame extractFrame(int startIdx,
                          int endIdx)

subframe

public Frame subframe(int startIdx,
                      int endIdx)
Create a subframe from given interval of columns.

Parameters:
startIdx - index of first column (inclusive)
endIdx - index of the last column (exclusive)
Returns:
a new frame containing specified interval of columns

names

public final java.lang.String[] names()

numCols

public int numCols()

numRows

public long numRows()

domains

public java.lang.String[][] domains()
All the domains for enum columns; null for non-enum columns.


anyVec

public Vec anyVec()
Returns the first readable vector.


checkCompatible

public void checkCompatible()
Check that the vectors are all compatible. All Vecs have their content sharded using same number of rows per chunk.


closeAppendables

public void closeAppendables()

closeAppendables

public Futures closeAppendables(Futures fs)

remove

public void remove()

remove

public void remove(Futures fs)
Actually remove/delete all Vecs from memory, not just from the Frame.


byteSize

public long byteSize()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

toString

public java.lang.String toString(long idx)

toStringHdr

public java.lang.String[] toStringHdr(java.lang.StringBuilder sb)

toString

public java.lang.StringBuilder toString(java.lang.StringBuilder sb,
                                        java.lang.String[] fs,
                                        long idx)

toStringAll

public java.lang.String toStringAll()

toCSV

public java.io.InputStream toCSV(boolean headers)