Movatterモバイル変換


[0]ホーム

URL:


Back to Documentations

SignatureDescriptionParameters
#include<DataFrame/DataFrameStatsVisitors.h>template<typename T,typename I=unsignedlong>struct TTestVisitor;
It calculates two kinds of t-test:unpaired/unrelated two sample t-test orpaired/related t-test, depending on the value of parameteris_related. The unrelated calculation followsWelch t-test, meaning it assumes X and Y donot follow bivariate normal distribution with equal variances.
get_result() returns the value of t-test
get_deg_freedom() returns degrees of freedom
    explicit    TTestVisitor(bool is_related, bool skipnan = true);
is_related: Are two time-series related or completely independent
T: Column data type. T must be an arithmetic-enabled type
I: Index type.
staticvoid test_TTestVisitor(){std::cout<<"\nTesting TTestVisitor{  } ..."<<std::endl;std::vector<unsignedlong>  idx={123450,123451,123452,123453,123454,123455,123456,123457,123458,123459,123460,123461,123462,123466,123467,123468,123469,123470,123471,123472,123473,};std::vector<double>         x_vec={0.5578196,2.0217271,2.5773252,3.4140288,4.3014084,4.7448394,5.1073781,6.5411662,6.7216176,7.2600583,8.1335874,9.1224379,1.9296663,2.3797674,3.2728619,4.2767453,5.3731026,5.6476637,8.5605355,8.5866354,8.7572812,};std::vector<double>         y_vec={18.63654,103.49646,150.35391,190.51031,208.70115,213.71135,228.49353,233.55387,234.55054,223.89225,227.68339,223.91982,168.01999,164.95750,152.61107,160.78742,168.55567,152.42658,221.70702,222.69040,243.18828,};std::vector<double>         z_vec={0.5578296,2.0217275,2.5773252,3.4140288,4.3084084,4.7448394,5.1079781,6.5411662,6.1216176,7.1600583,8.1335174,9.1223379,1.9296663,2.3727674,3.2728619,4.2767953,5.3731056,5.6426637,8.5602355,8.5866354,8.7572819,};    MyDataFrame                 df;    df.load_data(std::move(idx),std::make_pair("x_data", x_vec),std::make_pair("y_data", y_vec),std::make_pair("z_data", z_vec));    TTestVisitor<double>    tt_v(false);    df.visit<double,double>("x_data","y_data", tt_v);    assert(fabs(tt_v.get_result()--15.3585)<0.0001);    assert(tt_v.get_deg_freedom()==40);    df.visit<double,double>("x_data","z_data", tt_v);    assert(fabs(tt_v.get_result()-0.0421697)<0.000001);    assert(tt_v.get_deg_freedom()==40);    TTestVisitor<double>    tt_v2(true);    df.visit<double,double>("x_data","y_data", tt_v2);    assert(fabs(tt_v2.get_result()--15.9748)<0.0001);    assert(tt_v2.get_deg_freedom()==20);    df.visit<double,double>("x_data","z_data", tt_v2);    assert(fabs(tt_v2.get_result()-1.16854)<0.00001);    assert(tt_v2.get_deg_freedom()==20);}

C++ DataFrame
[8]ページ先頭

©2009-2025 Movatter.jp