1、除了专门的中位数(Median)函数外,还有一个更通用的分位数(Quantile)函数。在函数映射中,用分位数为 0.5 的分位数函数的匿名 lambda 表达式替换中位数函数,保留原来的“中位数”标签。或者,添加一个标记为“Q2”的新函数映射。这将被合并到结果包中,之后依次重新构建 StatsLib 项目、StatsDll 项目和 StatsLibTest 项目,检查所有测试是否通过且测试结果保持不变。最后重新构建 StatsConsole 和 StatsViewer,检查是否显示了预期的结果。
在函数映射里,用分位数为 0.5 的分位数函数的匿名 lambda 表达式替换中位数函数,保留“中位数”标签;或者添加标记为“Q2”的新函数映射。依次重新构建 StatsLib 项目、 StatsDll 项目和 StatsLibTest 项目,确保所有测试通过且结果不变,之后重新构建 StatsConsole 和 StatsViewer ,检查是否显示预期结果。
2、在线性回归结果中添加对计算相关系数 r 和 r² 系数的支持。相关系数衡量观测值和预测值之间的相关性。r² 统计量表示回归系数能解释多少变异。使用公式 const double r = ss_xy / std::sqrt(ss_xx * ss_yy); 计算相关系数 r,并添加 r² 的计算。此外,将新系数添加到结果包中。在 StatsLibTest 项目的测试文件 test_linear_regression.cpp 中的测试夹具 TestLinearRegression 里添加代码来测试结果。重新构建 StatsLibTest 项目。检查所有测试是否通过。运行 StatsConsole 应用程序。加载 xs 和 ys 数据集(与测试中使用的数据集相同)。检查回归和相关系数是否显示。使用 StatsViewer 应用程序进行类似的测试。
以下是为完成该任务的具体步骤:
-
计算相关系数
r和r²:
在线性回归代码里,按照公式
cpp const double r = ss_xy / std::sqrt(ss_xx * ss_yy);
计算相关系数r,同时添加r²的计算(比如r² = r * r)。 -
添加新系数到结果包:
把计算得到的r和r²系数添加到线性回归的结果包中。 -
添加测试代码:
在StatsLibTest项目的test_linear_regression.cpp文件的TestLinearRegression测试夹具里添加代码,用于测试r和r²系数的计算结果。 -
重新构建项目:
重新构建StatsLibTest项目,确保添加的代码能正确编译。 -
检查测试结果:
运行测试,检查所有测试是否都能通过。 -
运行
StatsConsole应用程序:
运行StatsConsole应用程序,加载xs和ys数据集,检查回归和相关系数是否正确显示。 -
运行
StatsViewer应用程序:
使用StatsViewer应用程序进行类似的测试,确保在该应用中回归和相关系数也能正确显示。
3、在StatsCLR项目中,公开z - 检验功能。要求:在StatisticalTests.h中添加public ref class ZTest { };,遵循TTest包装器的类定义。在StatisticalTests.cpp中添加类的实现。构造函数需要调用底层C++构造函数的适当版本。可以使用现有的转换函数将构造函数参数转换为标准库类型。Perform和Results的实现只需将调用转发到底层的非托管原生实例。结果需要转换为托管字典,同样可以使用现有的转换函数。重新构建StatsCLR项目。在StatsCLR.UnitTests中,为我们处理的三种z - 检验添加测试用例:TestSummaryDataZTest、TestOneSampleZTest和TestTwoSampleZTest。这些测试用例与原生C++类的测试用例类似,可以使用相同的数据。检查测试用例是否无错误运行。
按照以下步骤操作:
-
在
StatisticalTests.h中添加
cpp public ref class ZTest { };
并遵循TTest包装器的类定义。 -
在
StatisticalTests.cpp中添加类的实现
- 构造函数调用底层 C++ 构造函数的适当版本
- 利用现有转换函数将构造函数参数转换为标准库类型
-Perform和Results实现将调用转发到非托管原生实例
- 使用现有转换函数将结果转换为托管字典 -
重新构建
StatsCLR项目。 -
在
StatsCLR.UnitTests中添加测试用例
-TestSummaryDataZTest
-TestOneSampleZTest
-TestTwoSampleZTest
使用与原生 C++ 类测试用例相同的数据。 -
检查测试用例是否无错误运行。
4、如何重新构建 libStatsLib.a 以准备在 R/RStudio 中使用,确保重新编译静态库中的代码并将其链接到 StatsR 项目?请描述具体步骤。
为了在 R/RStudio 中使用而重新构建 libStatsLib.a ,目的是重新编译静态库代码并确保能将其链接到 StatsR 项目。步骤如下: <

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



