我对使用交叉表(列联表)加载和执行操作都有问题。
我想从一个扁平的TXT文件(从交叉表)中加载数据,并将其存储在内存中,以便以后打印为Mosiac图。我遇到的最大问题是,如何将其存储在内存中,以便进行类别(制表符行)切换。
交叉表可能是3维甚至4维的。

最佳答案

如果维度不是固定的,并且您不太关心效率,我建议您只将所有交叉表单元格存储在一个列表中然后,可以使用以下模式基于标注坐标创建选择:

class Cell{
    List<Integer> coordinates ...
    double value ...
}

class Selection{
    int dimension ...
    int start ...
    int end ...
    public boolean contains(Cell cell){
        int coord = cell.coordinates.get(dimension);
        return coord < end && coord >= start;
    }
}

class Crosstab{
    List<Cell> cells ...
    public [double/int/object] tabulate(Selection selection)...
}

关于java - 如何在Java内存中表示交叉表数据以提供类别移动?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17548701/

10-12 19:37