TableData.h
上传用户:szb0815
上传日期:2007-06-13
资源大小:338k
文件大小:3k
源码类别:

生物技术

开发平台:

C++ Builder

  1. //---------------------------------------------------------------------------
  2. #ifndef TableDataH
  3. #define TableDataH
  4. #include <vector>
  5. //---------------------------------------------------------------------------
  6. #define NODATA 99999.00
  7. class TTableObjectInfo : public TObject
  8. {
  9.     public:
  10.         __fastcall TTableObjectInfo();
  11.         __fastcall ~TTableObjectInfo();
  12.         void __fastcall ReadFromStream(TFileStream *Stream);
  13.         void __fastcall WriteToStream(TFileStream *Stream);
  14.         AnsiString ID;
  15.         AnsiString Name;
  16.         int Group;
  17.         float Weight;
  18.         float Order;
  19. };
  20. class TTableData : public TObject
  21. {
  22.     public:
  23.         __fastcall TTableData();
  24.         __fastcall ~TTableData();
  25.         void __fastcall LoadFromTabFile(AnsiString FileName);
  26.         void __fastcall SaveToTabFile(AnsiString FileName);
  27.         void __fastcall ReadFromBinaryFile(AnsiString FileName);
  28.         void __fastcall SaveToBinaryFile(AnsiString FileName);
  29.         void __fastcall CopyFrom(TTableData *CopyData);
  30.         void __fastcall CopyFromRowList(TTableData *CopyData, std::vector<int> List);
  31.         void __fastcall CopyTransposedFrom(TTableData *CopyData);
  32.         void __fastcall MeanCenterRows();
  33.         void __fastcall NormalizeRows();
  34.         void __fastcall PermuteInRows();
  35.         void __fastcall OrthogonalizeRow(int Row, float *Vector);
  36.         void __fastcall OrthogonalizeRows(float *Vector);
  37.         void __fastcall OrthogonalizeRowList(float *Vector, int *List, int n);
  38.         float * __fastcall RowData(int Row);
  39.         float *ColumnData(int Column);
  40.         float *RowDataByID(AnsiString ID);
  41.         float *ColumnDataByID(AnsiString ID);
  42.         void __fastcall RowAve(float *AveData);
  43.         void __fastcall RowListAve(int *List, int n, float *AveData);
  44.         float __fastcall Variance();
  45.         std::vector<int> __fastcall GroupList(int Group);
  46.         AnsiString __fastcall RawHeader();
  47.         AnsiString __fastcall RawRowString(int Row);
  48.         float **Data;
  49.         
  50.         int Rows;
  51.         int Columns;
  52.         
  53.         AnsiString IDType;
  54.         TTableObjectInfo **ColumnInfo;
  55.         TTableObjectInfo **RowInfo;
  56. };
  57. AnsiString __fastcall RowDataInfoToString(float *OutRowData, int n, TTableObjectInfo *Info);
  58. AnsiString __fastcall RowDataLabelToString(float *OutRowData, int n, AnsiString Label);
  59. AnsiString __fastcall RowDataLabelsToString(float *OutRowData, int n, AnsiString IDLabel, AnsiString NameLabel);
  60. #endif